记android学习之路----android中的一些小技巧
来源:互联网 发布:淘宝售后客服消差评 编辑:程序博客网 时间:2024/06/16 21:00
一下内容为我看了第一行代码整理出来的,在此向作者表达感谢;
Context:
1:Context代表上下文环境;通过Context实例可以调用相关资源;
2:Activity和Service都是Context的子类;
Context对象的创建:
Context对象有三种:activity,service,application;所代表的范围是activity范围内,service内,整个应用app内;
application的创建是在启动一个应用的时候就创建的,代表了整个app;
activity和service则是在启动对应activity和service的时候创建的;系统启动了多上个activity和service就有多少的context对象;
总数为:count_context = activity的启动个数+service的启动个数+1(application的对象);
Context的获取:
如果实在activity或者service内部调用的话非常容易获取,但是如果在activity或者service外部获取的时候则会比较困难;
1:把需求扔出去,即让调用方法者传入context对象;
2:自主实现:
1:声明一个类继承Application;
public class MyApplication extends Application{
private Context context;
public void oncreat(){ context = getApplicationContext(); } public static Context getContext(){ return context; } } 2:在AndManifest.xml中修改application的启动项: and:name=".....MyApplication" 3:此后在其他地方获取Context对象的时候: MyApplication.getContext()即可;
Intent传递数据加强:
1:Intent传递数据的时候对于基本数据类型都会支持,但是对于自定义对象就罢工了;
2:需要传递自定义对象需要先将自定义的对象进行序列化;也就是将其改为可传输或者可存储的状态;
3:实现方式:
Serializable:
pbulic class DataSend extends Serializable{
public String name;
public int age;
pbulic DataSend(na,ag){ name = na; age = ag; } } 传递: Intent intent = new Intent(FirstActivity.this,SecondActivity.class); DataSend ds = new DataSend("tom",22); intent.puExtra("send_data",ds); startActivity(intent); 获取: DataSend dds = (DataSend)this.getIntent().getSerializableExtra("send_data"); Parcelable: pbulic class DataSend implements Parcelable{ public String name; public int age; pbulic int describeContents(){ return 0; } public void writeToParcel(Parcel dest,int flags){ dest.writeString("tom"); dest.writeInt(22); } pbulic static final Parcelable.Creator<DataSend> CREATOR = new Parcelable.Creator(){ public DataSend createFromeParcel(Parcel source){ DataSend ds = new DataSend(); ds.name = source.readString(); ds.age = source.readInt(); return ds; } } public DataSend[] newArray(int size){ return new DataSend[size]; } } 传递: Intent intent = new Intent(FirstActivity.this,SecondActivity.class); DataSend ds = new DataSend("tom",22); intent.puExtra("send_data",ds); startActivity(intent); 获取: DataSend dds = (DataSend)this.getIntent().getParcelableExtra("send_data");通常情况下推荐使用Parcelable来传递数据;
自定义日志类
public class LogUtil{
public static final int VERBOSE = 0;
public static final int DEBUG = 1;
public static final int INFO = 2;
public static final int WARING = 3;
public static final int ERROR = 4;
public static final int CANLOG = 5;
public static v(String tag,String msg){ if(CANLOG > VERBOSE){ Log.v(tag,msg); }}public static d(String tag,String msg){ if(CANLOG > DEBUG){ Log.d(tag,msg); }}public static i(String tag,String msg){ if(CANLOG > INFO){ Log.i(tag,msg); }}public static w(String tag,String msg){ if(CANLOG > WARING){ Log.w(tag,msg); }}public static e(String tag,String msg){ if(CANLOG > ERROR){ Log.e(tag,msg); }}
}
使用方式:
在正常开发中使用LogUtil.x()即可使用相关方法,并且将CANLOG的值设置为比这些级别都大,那么日志都可以正常打印;
在产品的状态将CANLOG的值设为-1,那么所有的日志将不会打印;
调试and程序:
- 记android学习之路----android中的一些小技巧
- android中的一些小技巧
- Android 开发中的一些小技巧
- android 调试中的一些小技巧
- Android 开发中的一些小技巧
- Android 开发中的一些小技巧
- Android studio中的一些小技巧
- android中的小技巧
- android中的小技巧
- Android中的小技巧
- Android中的小技巧
- android学习小技巧
- 可以运用到android项目中的一些小技巧
- 记录平时Android开发中的一些小技巧
- android 的一些小技巧
- Android 之小技巧
- Android学习之路小结1(加一些小知识点)
- android开发中的小技巧
- RNN求解过程推导与实现
- 数据类型(1)
- 感知神经网络模型与学习算法
- 鸟哥服务器篇——DHCP运作的原理
- 8.自定义函数
- 记android学习之路----android中的一些小技巧
- 类初始化时各个部分代码调用顺序
- Linux 中的某些重要的目录
- activity销毁处理
- SQLServer基础知识总结
- Aizu 2249Road Construction
- 《编程珠玑》习题练习In Python——第一章 开篇
- win10的visual studio 2015 安装opencv3.1,并且编写demo人脸检测
- 概率分布的 perplexity