一些小东西

-----------------------------------
刷新可以采取handle来发消息通知viewObject.invalidate或者viewObject.postInvalidate(non-UI thread)来刷新

设置SharedPreferences读取方式
Context.getSharedPreferences(String name, int mode);
mode: operating mode,
    MODE_PRIVATE  default operation
    MODE_WORLD_READABLE control permissions
    MODE_WORLD_WRITEABLE control permissions

获取屏幕横竖状态
int orientation = context.getResources().getConfiguration().orientation;
if(orientation == Configuration.ORIENTATION_PORTRAIT)

获取是不是24小时制
android.text.format.DateFormat.is24HourFormat(context);

获取设置中的日期格式
String tmp = Settings.System.getString(context.getContentResolver(), "date_format");

获取时间判断上下午
Calendar c = Calendar.getInstance();
if(c.get(Calendar.AM_PM)==Calendar.AM)
if(c.get(Calendar.AM_PM)==Calendar.PM)

获取时间和日期
    if(null != mCityId){
                TimeZone tz =  TimeZone.getTimeZone(mCityId);
                mCalendar.setTimeZone(tz);
        }

        mTime = DateFormat.format(mTimeFormat, mCalendar).toString();
        mDate = DateFormat.format(getDateMode(context), mCalendar).toString();

设置textview一行显示不下打点
android:ellipsize="end"

long duetime = cursor.getLong(TodoActivity.INDEX_DUETIME);
String endString = DateFormat.getDateFormat(context).format(duetime);

NotesList用的是android.widget.CursorAdapter
TodoActivity用的android.widget.ResourceCursorAdapter

这个是为了监视数据内容是不是有变化(填入相关CONTENT_URI)
private ContentObserver mObserver = new ContentObserver(new Handler()) {
mContentResolver.registerContentObserver(CONTENT_URI, true, mObserver);

搜索就用list中的内容就用这个
private class SearchWatcher implements TextWatcher {
   mQueryHandler.cancelOperation(0);
   mQueryHandler.startQuery(**********)
mSearchText.addTextChangedListener(new SearchWatcher());
------------------------------------------

隐藏Activity刚进来焦点在 EditText时显示输入键盘

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

这个方法的意思是,只有点击EditText时才会弹出输入键盘。
-----------------------------------

/** 判断是否模拟器。如果返回TRUE,则当前是模拟器
 * @param context
 * @return
 */  
public static boolean isEmulator(Context context){  
    TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);  
    String imei = tm.getDeviceId();  
    if (imei == null || imei.equals("000000000000000")){  
        return true;  
    }  
    return false;  
}  
-----------------------------------

晚上在另外一台电脑编译时出现Android工程时,提示错误:Error generating final archive: Debug certificate expired on xxxxxx

解决方法:

删除C:\Documents and Settings\Administrator\.android\目录下的debug.keystore及ddms.cfg,
-----------------------------------

//设置ListView中item第一个的上面和下面两条分隔线
listview.setHeaderDividerEnabled(true);

//连接超时的:
httpUrlConnection.setConnectTimeout(int timeout)

//读取信息超时的:
setReadTimeout(int timeout)

//显示网络信息
ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connec.getActiveNetworkInfo();
NetworkInfo[] allinfo = connec.getAllNetworkInfo();
-------------------------------------

android监听文件和目录的创建删除移动等事件:FileObserver
如果要在onEvent中做较多操作,最好用线程去做 ,以免因为阻塞接收不到后面的事件。
      最后补充一点,比较重要 :
      FileObserver对象必须保持一个引用,确保不被垃圾收集器回收掉,否则就不会触发事件了。

WebView加载内容时感觉LoadUrl太浪费流量,而且加载起来有点慢,就考虑用其它的方法来实现。
在加载页面时,如果只加载数据,页面模板提前写好放到项目中,这样就可以来更快的加载页面,用户体验会好些。
      如果不用loadUrl,省下的就只有LoadData和loadDataWithBaseURL了,下面来说下LoadData和 loadDataWithBaseURL 的用法;
    参考http://moto0421.iteye.com/blog/1250209


你可能感兴趣的:(String,ListView,timezone,service,calendar,permissions)