1、隐藏系统键盘
((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)) // have a input manager object .hideSoftInputFromWindow(tagEditText.getWindowToken(),0);
2、AlertDialog
1) 最简单的AlertDialog
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setMessage(R.string.missingMessage); builder.setPositiveButton(R.string.OK, null); AlertDialog errorDialog = builder.create(); errorDialog.show();
2)有交互功能的AlertDialog
在strings.xml中的定义
<string-array name="dialog_items"> <item >Share</item> <item >Edit</item> <item >Delete</item> </string-array>
在Java代码中:
AlertDialog.Builder builder = new Builder(MainActivity.this); builder.setTitle(title); // AlertDialog's options builder.setItems(R.array.dialog_items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch(which){ case 0: shareSearch(tag); break; case 1: Edit(); break; case 2: deleteSearch(tag); break; } } }); // AlertDialog's cancel button builder.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); // dismiss the alertDialog } }); builder.create().show();//display the AlertDialog
3、初级SharedPreferences
在Android开发过程中,有时候我们需要保存一些简单的软件配置等简单数据的信息,而如果我们直接用数据库存储的话又不太方便,在这里我们就可以用到SharedPreferences,SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此保存的数据主要是简单类型的键值对(key-value),它保存的是一个XML文件。
SharedPreferences是一个接口,程序是无法创建SharedPreferences实例的,可以通过Context.getSharedPreferences(String name.int mode)来得到一个SharedPreferences实例
name:是指文件名称,不需要加后缀.xml,系统会自动为我们添加上。一般这个文件存储在/data/data/<package name>/shared_prefs下(这个面试常问到)
mode:是指定读写方式,其值有三种,分别为:
Context.MODE_PRIVATE:指定该SharedPreferences数据只能被本应用程序读、写
Context.MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读,但不能写
Context.MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读写。
实例:
// 首先声明sharedPreferences SharedPreferences sharedPreferences = getSharedPreferences(name, MODE_PRIVATE); SharedPreferences.Editor preferencesEditor = sharedPreferences.edit(); // 放入你要存的键值对 preferencesEditor.putString(key, value); preferencesEditor.apply(); // 一定要提交 preferencesEditor.commit();
4、 listView和adapter
private ArrayList<String> tags; private ArrayAdapter<String> adapter; // create ArrayAdapter and use it to bind tags to the ListView adapter = new ArrayAdapter<String>(this, R.layout.list_item, tags); setListAdapter(adapter); // register listener that searches Twitter when user touches a tag getListView().setOnItemClickListener(itemClickListener); getListView().setOnItemLongClickListener(itemLongClickListener); //when data changed, should notify adapter adapter.notifyDataSetChanged();
5、在strings.xml中加入变量:
<string name="shareEditDeleteTitle">Hello, \"%s\"</string>
在java代码中:
String value = "sunny"; String result = getString(R.string.value,value) System.out.println(result); // Hello, sunny