您的位置:首页 > 移动开发 > Android开发

android小技巧(一) 格式化时间输出 简单的adapter PreferenceManager handler与 handlerThread

2017-07-15 15:54 344 查看
0  System.out.println(""+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));

1  实用默认的shareprefer  

写:

SharedPreferences sp = PreferenceManager

                    .getDefaultSharedPreferences(MainActivity.this);

            SharedPreferences.Editor editor = sp.edit();

            editor.putString("ip", ip);

            editor.putInt("port", Integer.parseInt(port));

            editor.commit();

读:

public static String getIp(Context context) {
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(context);
return sp.getString("ip", Constant.ip);
}

public static int getPort(Context context) {
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(context);
return sp.getInt("port", Constant.port);
}

public static String getAccount(Context context) {
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(context);
return sp.getString("acc", Constant.acc);
}

2  利用arrayAdapter 创建简单的列表

 private void initListView() {

        // TODO Auto-generated method stub

        lv = (ListView) findViewById(R.id.mainlv);

        ArrayList<String> list = new ArrayList<String>();

        list.add("NFC读取");

        list.add("OTG读取");

        list.add("蓝牙读取");

        System.out.print("123");

        ArrayAdapter<String> arr = new ArrayAdapter<String>(MainActivity.this,

               
Android.R.layout.simple_list_item_1, list);

        lv.setAdapter(arr);

        lv.setOnItemClickListener(this);

    }

3 handler与 handlerThread

Handler会关联一个单独的线程和消息队列。Handler默认关联主线程,虽然要提供Runnable参数 ,但默认是直接调用Runnable中的run()方法。也就是默认下会在主线程执行,如果在这里面的操作会有阻塞,界面也会卡住。如果要在其他线程执行,可以使用HandlerThread。

HandlerThread的使用                                                                                                      

//Handler handler = new Handler() {
//...
//}
HandlerThread uIhandlerThread = new HandlerThread("update");
uIhandlerThread.start();
//Handler UIhandler = new Handler(uIhandlerThread.getLooper());
Handler uIhandler = new Handler(uIhandlerThread.getLooper(),new Callback() {
public boolean handleMessage(Message msg) {
Bundle b = msg.getData();
int age = b.getInt("age");
String name = b.getString("name");
System.out.println("age is " + age + ", name is" + name);
System.out.println("Handler--->" + Thread.currentThread().getId());
System.out.println("handlerMessage");
return true;
}
});


当要停止uIhandlerThread执行时用:

if(uIhandlerThread!=null) {
pointThread.quit();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: