往Android的Application对象里存储数据的陷阱

本文为转载,原译文的标题是 为什么不能往Android的Application对象里存储数据 ,之所以去掉了“不能往”是因为在读完之后,发现作者因为这种做法可能会导致的问题而全面否定它,事实上,我认为还是可以往Application对象里存储数据的,只是需要考虑周全。另外我也赞成Application中不适合放太多或者太大的数据,在Application中存放数据是比较无奈的做法。

Read More

Android中Application类用法

Application类

Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息。

Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类。

Read More

如何一个android工程作为另外一个android工程的lib

在实际使用中,我们可能会把一个android工程作为库,然后在另外一个android的工程中引用。实现的步骤如下:

1.将android工程设为库

选择工程右击选择“property”->”Android”选项下的library勾选“Is Library”。

2.在当前工程引用上面的工程的库

在当前工程目录下的文件“project.properties”里添加:

android.library.reference.1=..\xxx(工程目录)

这样就可以使用库工程的代码及资源的。

验证是否可以正常引用:可以到“property”->“Android”选项选项下的library有Reference中显示你所引用到的工程。

Android:ListView、ListActivity、setListAdapter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//ListActivity是含有listview的Activity
public class MainActivity extends ListActivity{

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);可省略此方法

ArrayList<String> data = new ArrayList<String>();
for (int i = 0; i < 30; i++){
data.add("好内容");
}
//ListActivity默认有listview,可以直接setListAdapter
setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, data ));
//android.R.layout.simple_list_item_1为系统提供的textview
}

@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}