Github最火开源项目-开源项目pinyin4j使用简介

Android程序员面试宝典

自定义控件

  • 一分钟实现贴纸功能
  • 一分钟实现TextView高亮
  • 一分钟实现新手引导页
  • 一分钟实现ViewPager卡片
  • 一分钟实现加载对话框
  • 一分钟实现轮播图
  • 一分钟实现GridView拖拽
  • 一分钟实现底部导航栏
  • 一分钟实现底部FragmentTabhost
  • 一分钟实现多张图片选择
  • 一分钟实现仿美拍直播的点赞动画
  • 一分钟实现高仿今日头条视频列表
  • 一分钟实现购物车加减控件
  • 一分钟实现省市县三级联动
  • 一分钟实现二维码生成和扫描
  • 一分钟实现沉浸式状态栏
  • 一分钟实现图片裁剪
  • 一分钟实现视频弹幕
  • 一分钟实现图片缩放
  • 一分钟实现旋转选择器
  • 一分钟实现ofo小黄车的引导界面
  • 一分钟实现自定义ImageView外貌
  • 一分钟实现向左拖拽跳转详情页
  • 一分钟实现QQ首页动画特效
  • 一分钟实现ViewPager上下滑动

联网

  • 一分钟学会Retrofit并且进行实战
  • 一分钟实现OkHttp3

工具

  • 一分钟实现RecyclerView
  • 一分钟实现H5和Android通信
  • 一分钟实现pinyin4j
  • 一分钟实现分析内存泄漏

数据库

  • 一分钟实现LitePal数据库
  • 一分钟实现ormlite数据库
  • 一分钟实现GreenDao数据库

源码分析相关面试题

  • Volley源码分析
  • 注解框架实现原理
  • okhttp3.0源码分析
  • onSaveInstanceState源码分析
  • 静默安装和源码编译

Activity相关面试题

  • 保存Activity的状态
  • 深刻剖析activity启动模式(一)
  • 深刻剖析activity启动模式(二)
  • 深刻剖析activity启动模式(三)
  • Activity Task和Process之间的关系
  • 源码分析service开启Activity抛异常?activity不会抛异常
  • Activity优雅退出
  • onCreate源码分析

Service相关面试题

  • IntentService源码分析
  • Service是否在main thread中执行, service里面是否能执行耗时的操作?
  • Service不死之身

与XMPP相关面试题

  • XMPP协议优缺点
  • 极光消息推送原理

与性能优化相关面试题

  • 内存泄漏和内存溢出区别
  • UI优化和线程池实现原理
  • 代码优化
  • 内存性能分析
  • 内存泄漏检测
  • App启动优化
  • 与IPC机制相关面试题

与登录相关面试题

  • oauth认证协议原理
  • token产生的意义
  • 微信扫一扫实现原理

与开发相关面试题

  • 迭代开发的时候如何向前兼容新旧接口
  • 手把手教你如何解决as jar包冲突
  • context的原理分析
  • 解决ViewPager.setCurrentItem中间很多页面切换方案
  • 字体适配
  • 软键盘适配
  • 机型适配,例如三星、小米、华为、魅族等
  • CardView 设置水波纹效果

与人事相关面试题

  • 人事面试宝典

pinyin4j这个java库方便实现将汉字转换拼音

开源地址:https://github.com/open-android/pinyin4j

使用效果

(重)--(chong2/zhong4)
(好)--(HĂO/HÀO)

Github最火开源项目-开源项目pinyin4j使用简介_第1张图片
  • 配套视频

使用步骤

1. 在project的build.gradle添加如下代码(如下图)

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}
Github最火开源项目-开源项目pinyin4j使用简介_第2张图片

2. 在Module的build.gradle添加依赖

compile 'com.github.open-android:pinyin4j:2.5.0'

3.演示步骤

  • 将演示代码复制到Activity的onCreate方法中
    //-------------------默认格式转换-----------------------------
    String[] pyStrs = PinyinHelper.toHanyuPinyinStringArray('重');

    for (String s : pyStrs) {
        System.out.println(s);
    }



    //-------------------指定格式转换----------------------------
    HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();

    // UPPERCASE:大写  (ZHONG)
    // LOWERCASE:小写  (zhong)
    format.setCaseType(HanyuPinyinCaseType.UPPERCASE);//输出大写

    // WITHOUT_TONE:无音标  (zhong)
    // WITH_TONE_NUMBER:1-4数字表示音标  (zhong4)
    // WITH_TONE_MARK:直接用音标符(必须WITH_U_UNICODE否则异常)  (zhòng)
    format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);

    // WITH_V:用v表示ü  (nv)
    // WITH_U_AND_COLON:用"u:"表示ü  (nu:)
    // WITH_U_UNICODE:直接用ü (nü)
    format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);

    String[] hao = PinyinHelper.toHanyuPinyinStringArray('好', format);

    for (String s : hao) {
        System.out.println(s);
    }

注意捕获BadHanyuPinyinOutputFormatCombination异常

  • 欢迎关注微信公众号

微信公众号名称:Android干货程序员

Github最火开源项目-开源项目pinyin4j使用简介_第3张图片

你可能感兴趣的:(Github最火开源项目-开源项目pinyin4j使用简介)