现在的位置: 首页 > 综合 > 正文

android开发问题及解决

2016年08月22日 ⁄ 综合 ⁄ 共 1723字 ⁄ 字号 评论关闭

1、问题:emulator-5554 disconnected!

解决:cmd下,adb kill-server,然后adb start-server。注意kill和-server、start和-server之间没有空格,前提是保证在系统中添加了adb的环境变量。

2、问题:Application的使用

解决:如果想要在应用中保存全局数据(不写在数据库中),使用Application是一个好办法。

(1)、写一个自定义类,继承Application类,复写onCreate方法。

package com.app;

import java.util.LinkedHashMap;
import java.util.Map;

import com.moodlog.R;

import android.app.Application;

public class MyApplication extends Application {
	public static final int NUM_PAGE = 6;// 总共有多少页
	public static int NUM = 20;// 每页20个
	private static MyApplication mApplication;
	private Map<String, Integer> mFaceMap = new LinkedHashMap<String, Integer>();

	public synchronized static MyApplication getInstance() {
		return mApplication;
	}

	@Override
	public void onCreate() {
		super.onCreate();
		mApplication = this;
		initFaceMap();
	}

	public Map<String, Integer> getFaceMap() {
		if (!mFaceMap.isEmpty())
			return mFaceMap;
		return null;
	}

	private void initFaceMap() {
		// TODO Auto-generated method stub
		mFaceMap.put("[呲牙]", R.drawable.f000);
		mFaceMap.put("[调皮]", R.drawable.f001);
		mFaceMap.put("[流汗]", R.drawable.f002);
		
		mFaceMap.put("[右太极]", R.drawable.f105);
		mFaceMap.put("[闭嘴]", R.drawable.f106);
	}

}

上面代码,在Application中保存了页数、每页数量、表情图片,你可以自己定义要保存的数据。

(2)、最重要、也是最容易漏掉的步骤:在AndroidManifest.xml的application节点加入自定义的类,如:

<application
        android:name="com.app.MyApplication"

        android:allowBackup="true"

        android:icon="@drawable/icon"
        android:label="@string/app_name" >

</application>

(3)、如果在应用中包含多个service进程,Application类的onCreate方法可能会被多次调用。这种情况只是在网上见过,自己还没有碰到过。

3、问题:如何使用Java中常见的线程不安全的类,比如SimpleDateFormat类

解决:使用ThreadLocal类。

private final static ThreadLocal<SimpleDateFormat> dateFormater = new ThreadLocal<SimpleDateFormat>() {
	@Override
	protected SimpleDateFormat initialValue() {
		return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
	}
};

使用时,dateFormater.get().format(new Date());

抱歉!评论已关闭.