android_guides 中文翻译
对于Android 开发指南,大家熟知的一般是官方教材,但其实Codepath的android_guides 的开发指南,和官方相比起来,也是毫不逊色的,相比较官方的,它的教程更偏向实战,实用性更强。
此项目不是英文文档的精准对应翻译,是个人以翻译android_guides为契机对 Android 知识进行整体梳理,所以有些文章个人觉得没什么用或者太旧会进行删减,也会有自己的理解和延伸,再加上我的水平有限,难免存在错误或者翻译不准确的地方,如果阅读后有不明白或者不懂,请移步英文版阅读。 欢迎批评指正。
探索应用程序开发核心:
- Android Context简述 译文 原文
- Android目录结构 译文 原文
- 源文件目录结构整理 译文 原文
- Android应用程序体系结构
- 了解应用程序资源
- 了解应用生命周期
- 处理屏幕旋转
- 迁移到AppCompat库
- 应用程序权限
- 使用PermissionsDispatcher管理运行时权限
- 用枚举注释代替枚举(StringDef,IntDef校验类型)
- 了解Android Application 类(自定义应用程序对象)
探索视图,布局,样式和常见UI模式的坚韧细节:
- 构建视图布局
- 定义视图及其属性(Gravity, Margin, Padding等)
- 使用TextView(属性,Drawables,自定义字体)
- 使用EditText
- 使用ImageView(Drawables,Size和Scale,Density,Raw Bitmaps)
- 使用输入视图(Spinner,RatingBar等)
- 使用软键盘
- 使用WebView
- 使用ScrollView
- 视图应用数据绑定
- Drawables
- 样式和主题
- 动画
- UI技巧和工具
- Android设计指南
- UI常见问题解答
- 创建有吸引力的用户界面
- 开发自定义主题(集成drawable,样式和主题)
- 材料设计入门
- 使用调色板的动态颜色(自适应颜色,Android 5.0)
- 波纹动画(Android 5.0)
- 共享元素转换(Android 5.0)
- 圆形显示动画(Android 5.0)
- Material Design Library
- View Hierarchy 动画(Android 4.0)
- 在ListView中使用ArrayAdapter
- RecyclerView分页加载
- 实现下拉刷新
- 实现水平ListView
- 实现多种类型 item 的ListView
- 使用RecyclerView
- RecyclerView内多种类型 item
- 使用CardView
- 使用ListView的BaseAdapter
探索如何在应用中定义用户交互和导航:
- 事件监听器
- 创建自定义监听器
- Toast
- Snackbar
- 探索ActionBar
- ActionBar拓展(split-bar,自定义ActionBar等)
- 手势和触摸事件
- 菜单和弹出窗口(上下文菜单,PopupMenu,PopupWindow)
- DialogFragment对话框
- 实现“给我评分”功能(获取Play商店评分)
- 重复周期性任务(Handler,ScheduledThreadPoolExecutor)
- 使用Toolbar(替换ActionBar)
- 浮动操作按钮(Android 5.0)
- 使用CoordinatorLayout处理滚动(折叠工具栏)
- 用意图导航Activity
- 常见导航范例(选项卡,可滑动视图,拉出式抽屉)
- 常见的隐含意图(拨打电话,发送文本,打开URL)
- 导航和任务堆栈(控制任务堆栈的行为)
- 使用意图共享内容(ShareActionProvider)
- 使用Parcelable(在Activity之间快速传递数据)
- 图书搜索app
- 发送和管理网络请求
- 使用Glide库显示图片)
- 使用Picasso库显示图片
- 将JSON转换为模型(JSON反序列化)
- 利用Gson库(JSON反序列化库)
- 创建和执行异步任务
- ProgressBars
- 烂番茄网络请求教程
- Volley网络库
- OkHttp网络库
- Fast Android Networking
- Retrofit
- Fresco图片加载库
- 使用Parse构建数据驱动的应用程序
- 配置Parse服务器
- 使用Parse实现简单的聊天客户端
- 使用Parse常见问题
- 通过套接字发送和接收数据
- 使用Firebase构建数据驱动的应用程序
探索数据持久性的策略:
- 将数据持久化到设备(Preferences,文件,SQLite,ORM)
- ActiveAndroid ORM指南
- 存储和访问SharedPreferences
- 本地数据库与SQLiteOpenHelper
- 使用CursorAdapter填充ListView
- PreferenceFragment实现设置页面
- 用内容提供者加载联系人(CursorLoader,LoaderManager)
- 与日历交互(CalendarProvider)
- 创建内容提供者
- 用Sugar ORM实现清晰的持久性
- DBFlow ORM指南
- 使用 Cupboard 实现更简单的 SQL
- 使用JDXA ORM实现强大的持久性
- 在Android中存储密钥(API密钥,证书)
- 使用ImageView(Drawables,Size和Scale,Density,Raw Bitmaps)
- Drawables
- 使用Glide显示图片
- 使用Picasso显示图片
- 使用Fresco显示图片
了解如何使用Fragments构建功能强大且灵活的视图:
- 创建和使用Fragment
- 显示一个DialogFragment
- 使用TabLayout 实现Google Play选项卡样式
- 使用PagerSlidingTabStrip滑动选项卡
- ViewPager与FragmentPagerAdapter
- Fragment导航抽屉
- 灵活的用户界面
探索Android SDK提供的传感器和组件:
- 访问相机和存储介质(相机,照片胶卷)
- 使用LocationServices API检索位置(位置)
- 使用SensorManager监听传感器(光,加速计)
- 音频播放和录制(MediaPlayer)
- 视频播放和录制(VideoView)
- 使用蓝牙API进行连接
深入了解如何运行后台服务或利用Android系统服务:
- 启动后台服务(使用IntentService和接收器)
- 通知
- 推送消息
- Google Cloud Messaging
- 实时消息
- 管理线程和自定义服务(Looper,Handler,ThreadPoolExecutor)
- 服务器同步(SyncAdapter)
Android的自动化测试框架和工具:
使用更高级的第三方库和SDK,节省时间并提高代码的可维护性:
- 必备库
- 流行的外部工具(分析,崩溃报告)
- 使用Dagger-2实现依赖注入
- 用Butterknife减少样板视图
- 事件总线(使用EventBus发布和接收事件)
- 使用Parceler
- RxJava简介
- RxJava和RxBinding(使用Android 函数式编程)
侧重于部署,依赖管理等问题: