50 Android Hack 读书笔记

1、可以指定android:weightSum属性
2、使用 标签来应对变化
3、使用 标签延迟加载有可能不需要加载的数据 标签中可以指定inflateId属性
4、使用自定义ViewGroup,重写onMeasure、onLayout
5、使用Android的PreferenceCategory

6、使用TextSwitcher、ImageSwitcher来制作过渡动画
7、使用LayoutAnimathionController,使用View#setLayoutAnimation
8、使用Canvas手动绘制一些动画
9、使用NineOldAndroids制作幻灯片播放动画
10、使用一个Editext样式的图片作为Button的背景来弹出DatePicker让用户选择正确的日期
11、使用TextView#setText(Html.fromHtml())来自定义样式,使用Spannable来自定义TextView的显示样式
12、使用TextView的shadowColor属性来定义发光字
13、使用xml定义圆角矩形
14、使用View#post()方法在activity的onCreate中获取view的大小
15、处理视屏播放横屏问题
16、移除activity的背景和title来加快启动速度

     <?xml version="1.0" encoding="utf-8"?>
     <resources>
     <style name="Theme.NoBackground" parent="android:Theme"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@null</item>
      </style>
      </resources>

17、使用Toast#setGravity来设置toast的显示位置
18、使用Gallery做注册界面

19、使用proguard 来删除日志 # -assumenosideeffects
20、使用hierarchy viewer来移除不必要的布局

21、Modle-View-Presenter 模式 Activity通过接口和Presenter Modle通信
22、BroadCastReceiver与Activity的生命周期保持一致,onResume onPause
23、使用Android的libry工程
24、当后台任务比较简单并且你不必关系结果的时候才去用AsyncTask
25、使用SyncAdapter处理后台任务
26、使用ListView的setEmptyView
27、ListView#ViewHolder
28、ListView使用ViewType进行分组
29、使用代理与Adapter进行通信
30、使用ListView的HeadView
31、ViewPager处理屏幕旋转
32、为ListView设置choiceMode
33、使用AspectJ进行AOP编程,使用Cocos2d-x
34、使用Itoa将Object-c代码运行在Android上
35、将Scala运行在Android上
36、使用intent来激活系统组件,比如拍照、选择一张图片
37、用户反馈时上传用户设备信息
38、将MP3添加到media ContentProvider

39、为ActionBar添加刷新按钮
40、使用LIFO后台任务为listView加载图片
41、使用ORMLite来操作数据库
42、使用原生sql语句比ORM框架性能好,使用NDK扩展sqlite的操作
43、使用批量操作数据库接口
44、全屏应用注意版本兼容
45、操作SharePreference时如果无需返回值使用apply代替commit
46、使用Marven
47、使用jekins进行不同版本要求的构建

时间: 2024-10-12 11:42:25

50 Android Hack 读书笔记的相关文章

《基于Android的读书笔记api》

1.     系统的需求分析 1.1系统目标 目本程序旨在开发一款简单实用.易操作的一款读书笔记软件. 1.2功能需求 该记事本软件应该具有以下功能: (1)登录 (2)书籍分类管理 (3)书籍管理 (4)我的读书笔记 (5)汇总每个用户的笔记数量 (6)统计某一个用户的每一本书的笔记数量 2.     系统的概要设计 该软件是一款是基于Android开发的手机应用,简单实用,易于上手. 2.1    运行环境 1.Android手机或平板电脑:主频在1Ghz及以上,内存为1GB以上,系统版本为

《第一行代码:Android》读书笔记——第5章 Broadcast

(一)广播机制简介 1.Android广播的分类: 如图所示: 2.发送广播:使用Intent:接收广播:Broadcast Receiver. (二)接收系统广播 1.动态注册监听网络变化 示例程序: (1)MainActivity(注:以下代码中的ToastUtil是自己简单封装的Toast显示功能的类): 1 package com.example.broadcasttest; 2 3 import android.app.Activity; 4 import android.conten

《第一行代码:Android》读书笔记——第10章 Android网络编程

(一)WebView的用法 1.WebView也是一个普通的控件. 2.常用用法: 1 WebView webView = (WebView)findViewById(R.id.web_view); 2 webView.getSettings( ).setJavaScriptEnabled(true); //让webView支持javascript脚本 3 webView.setWebViewClient(new WebViewClient( ){ 4 @Override 5 public bo

50 Android Hacks阅读笔记

Hack 1.善用weightSum和layout_weight. 问题提出:尝试做一个button的宽度是父View的一半的效果. 关键词:weightSum = 1 , layout_weight=0.5 Hack 2.常用include和ViewStub 问题提出:如何减少复杂界面的绘制时间. 关键词:include复用,外部定义layout_width,layout_height:ViewStub占位,VISIBLE设置 Hack 3.自定义ViewGroup 问题提出:如何使用自定义V

Android Intent读书笔记

1.Intent封装Android应用程序需要启动某个组件(Activity.Service BroadcastReceiver)的“意图”,也是应用程序组件之间通信的重要媒介: 2.Intent对象大致包含Component Action Category Type Data Extra Flag这7中属性: 3.Component用于明确指定需要启动的目标组件(显式Intent),Extra则用于携带需要交换的数据: 4.

《第一行代码 android》 读书笔记:找出当前界面对应的Activity

在android开发中找出当前界面对应的Activity,步骤如下: 新建一个BaseActivity继承自Activity,然后在BaseActivity中重写onCreate()方法,通过getClass().getSimpleName()获取当前实例的类名,并通过Log打印出来.代码如下: public class BaseActivity extends Activity { protected void onCreate(Bundle savedInstanceState){ supe

《第一行代码:Android》读书笔记——第1章 Android系统

(一)Android系统架构 1.Linux内核层:各种底层驱动,如显示驱动.音频驱动.电源管理等. 2.系统运行库层:各种库支持,如3D绘图.浏览器内核.数据库等. 3.应用框架层:各种API,各种Manager. 4.应用层:所有的应用程序. (二)安卓系统级功能 1.四大组件:Activity,Service,Broadcast,Content Provider. 2.系统控件:用于写界面,也可以自己定制界面. 3.SQLite数据库:轻量级.快速的嵌入式关系型数据库. 4.地理位置定位:

《第一行代码:Android》读书笔记——第2章 Activity

(一)创建活动 1.创建活动类 创建没有Activity的项目,发现src文件夹是空的,手动创建一个包com.jyj.demo1,在包中添加一个名为MainActivity的class,该MainActivity类要继承Activity类,并重写onCreate()方法. ps:重写onCreate方法时候要先写:super.onCreate(...); 2.创建布局 没有布局的活动是不可见的,在res->layout目录中添加一个Android XML file,比如文件名为mylayout.

《第一行代码:Android》读书笔记——第13章 Android高级技巧

(一)全局获取Context 1.创建ApplicationUtil类继承自Application类: 1 public class ApplicationUtil extends Application { 2 3 private static Context context; 4 5 @Override 6 public void onCreate() { 7 context = getApplicationContext(); 8 } 9 10 public static Context