11-30
来源:互联网 发布:报纸排版软件有哪些 编辑:程序博客网 时间:2024/05/02 04:40
Log.d() send a DEBUG log message
log.e() send a ERROR
log.i() send an INFO
log.v() send a VERBOSE
log.w() send a WARN
$ echo "Hello world" > hello 在当前目录创建一个文本文件hello 内容为Hello world 且覆盖该文本的所有内容 推荐文本首次创建时使用
$ echo "My test" >>hello 在hello文本中添加字符串
获得Arrays中的字符数组String[] arraysMethod = mActivity.getResources().getStringArray(
R.array.Input_method);
Button强制获取焦点
public void onClick(View v) {
if (!v.isFocused()) {
v.requestFocus();
}
handle_saveconf(mToggleAutoState);
}
Handler使用
延迟方法执行
mMainHandler.postDelayed(new Runnable() {
public void run() {
setApps(apps, true, false);
}
}, 0);
mHandler.removeCallbacksAndMessages(null);
mHandler.postDelayed(new Runnable() {
public void run() {
notifyValueChange(child, oldVal, newVal);
}
}, mNotifyDelay);
使用工作线程中,looper
开一个工作Handler线程供其他Handler使用
public static HandlerThread sTaskRunner = new HandlerThread(
"Setting_Task_Runner");
static {
sTaskRunner.start();
}
private Handler mTaskHandler = new Handler(App.sTaskRunner.getLooper()) {
public void handleMessage(Message msg) {
switch (msg.what) {
case GET_WALLPAPER:
getWallpaper();
return;
case CHANGE_WALLPAPER:
changeWallpaper(msg.arg1);
return;
}
}
};
按钮获得焦点
mIpSaveBtn.setEnabled(state);
mIpSaveBtn.setFocusable(state);
mIpSaveBtn.setFocusableInTouchMode(state);
获取组件必须要抛的异常
if (mAppIcon == null || mAppSize == null || mAppName == null 65
|| mAppVersion == null || mAppTotalSize == null 66
|| mAppDataSize == null || mAppCacheSize == null 67
|| mForceStop == null || mUninstall == null || mClear == null 68
|| mMoveApp == null | mProgressBar == null) { 69
throw new InflateException("Do you miss ga child?"); 70
}
颜色
17
18 <resources> <resources> 18
19 19
<color name="gray">#88888888</color> 20
20 <color name="white">#ffffffff</color> <color name="white">#ffffffff</color> 21
21 <color name="black">#ff000000</color> <color name="black">#ff000000</color> 22
22 <color name="translucent">#38383838</color> <color name="translucent">#38383838</color> 23
23 <color name="transparent">#00000000</color> <color name="transparent">#00000000</color> 24
<drawable name="gray">#88888888</drawable> 25
<drawable name="white">#ffffffff</drawable> 26
24 27
25 </resources> </resources>
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
switch (msg.what) {
case SHOW_MENU:
showMainMenu(true);
break;
case HIDE_MENU:
showMainMenu(false);
break;
}
}
};
private void showMainMenu(boolean show) {
if (show) {
mHandler.removeMessages(HIDE_MENU);
mHandler.sendEmptyMessageDelayed(HIDE_MENU, DELAYED_TIME);
} else {
finish();
}
}
onvaluechange接口中调用getcurrentvalue 没必要直接获取newval 0 ,1 pointItem中出现的问题 是由调用getcrrentvalue在回掉之后发生造成的
refreshDrawableState();
必须设置自己
public IpTextViewLayout(Context context, AttributeSet attrs) {
super(context, attrs);
setOnClickListener(this);
}
view.isInTouchMode()view是否在tochmode里边 遥控器enter执行到onclick方法中?
static变量在android中 Activity重启后static 变量不会再被初始化:语言设置改变语言环境后重启setting 根据headers中的static变量记忆最后一次点击了哪个header,达到重启setting焦点记忆不移动的目的。
重写requestForcus方法解决ontouchmode焦点问题
启动activity的方式
public static boolean startActivity(Context context, Intent intent) {
if (intent == null) {
return false;
}
try {
context.startActivity(intent);
return true;
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
return false;
}
public static boolean startActivity(Context context, String action) {
if (action == null || action.length() == 0) {
return false;
}
return startActivity(context, new Intent(action));
}
public static boolean startActivity(Context context, String pkg, String cls) {
if (pkg == null || pkg.length() == 0 || cls == null
|| cls.length() == 0) {
return false;
}
final Intent intent = new Intent();
intent.setClassName(pkg, cls);
return startActivity(context, intent);
}
public static boolean startActivity(Context context, ComponentName cpn) {
if (cpn == null) {
return false;
}
final Intent intent = new Intent();
intent.setComponent(cpn);
return startActivity(context, intent);
}
public static boolean startActivity(Context context, AppInfo app) {
if (app == null) {
return false;
}
return startActivity(context, app.cpnName);
}
public static boolean startActivityForPickApp(Context context, int category) {
try {
final Intent intent = new Intent(context, AppsActivity.class);
intent.putExtra(AppsActivity.EXT_MODE,
AppsActivity.MODE_PICK_ONE_APP);
intent.putExtra(AppsActivity.EXT_CATEGORY, category);
if (context instanceof Activity) {
((Activity) context).startActivityForResult(intent,
Launcher.REQ_CODE_PICK_ONE_APP);
return true;
} else {
context.startActivity(intent);
return true;
}
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
return false;
}
public static boolean startActivityForPickWidget(Context context,
int widgetId) {
try {
final Intent intent = new Intent(
AppWidgetManager.ACTION_APPWIDGET_PICK);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId);
if (context instanceof Activity) {
((Activity) context).startActivityForResult(intent,
Launcher.REQ_CODE_PICK_ONE_WIDGET);
return true;
} else {
context.startActivity(intent);
return true;
}
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
return false;
}
重启系统的setting
130|shell@android:/data/data/com.togic.settings # ll
system 6725 6339 542192 44364 ffffffff 400113c0 S com.togic.settings
app_8 6830 6339 433680 17796 ffffffff 400113c0 S com.android.providers.calendar
kshell@android:/data/data/com.togic.settings # kill 6725
接activity生命周期的办法
public void onResume() {
mTv.onResume();
}
onLayout 在onresume方法执行之后再执行 解决电视flash问题
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
LogUtil.d("changed=============================================="+changed);
if(changed){
prepareTv2();
}
}
mHandler.removeCallbacks(null);只能移除post提交的runnable
mHandler.removeMessages(MSG_UPDATE_SURFACE); 移除sendMessageDelayed提交的MSG_UPDATE_SURFACE
修复Ip连删 DEL事件只捕获按键抬起时事件,则必须先返回按键按下事件。
if (event.getAction() == KeyEvent.ACTION_DOWN) {
return super.dispatchKeyEvent(event);
}
if (event.getKeyCode() == KeyEvent.KEYCODE_DEL) {
final int count = this.getChildCount();
View child;
IpTextView ipText = null;
IpTextView preIpText = null;
int focusItem = 0;
for (int i = count - 1; i >= 0; i--) {
child = getChildAt(i);
if (child instanceof IpTextView) {
ipText = (IpTextView) child;
if ((ipText.length() == 0) && ipText.isFocused()) {
if (i - PRE_MOVE_STEP >= 0) {
focusItem = i;
mMovePreable = !mMovePreable;
}
}
}
}
if (focusItem != 0 && mMovePreable) {
mMovePreable = true;
preIpText = (IpTextView) getChildAt(focusItem - 2);
if (preIpText.hasFocusable()) {
preIpText.requestFocus();
}
}
}
return super.dispatchKeyEvent(event);
}
log.e() send a ERROR
log.i() send an INFO
log.v() send a VERBOSE
log.w() send a WARN
$ echo "Hello world" > hello 在当前目录创建一个文本文件hello 内容为Hello world 且覆盖该文本的所有内容 推荐文本首次创建时使用
$ echo "My test" >>hello 在hello文本中添加字符串
获得Arrays中的字符数组String[] arraysMethod = mActivity.getResources().getStringArray(
R.array.Input_method);
Button强制获取焦点
public void onClick(View v) {
if (!v.isFocused()) {
v.requestFocus();
}
handle_saveconf(mToggleAutoState);
}
Handler使用
延迟方法执行
mMainHandler.postDelayed(new Runnable() {
public void run() {
setApps(apps, true, false);
}
}, 0);
mHandler.removeCallbacksAndMessages(null);
mHandler.postDelayed(new Runnable() {
public void run() {
notifyValueChange(child, oldVal, newVal);
}
}, mNotifyDelay);
使用工作线程中,looper
开一个工作Handler线程供其他Handler使用
public static HandlerThread sTaskRunner = new HandlerThread(
"Setting_Task_Runner");
static {
sTaskRunner.start();
}
private Handler mTaskHandler = new Handler(App.sTaskRunner.getLooper()) {
public void handleMessage(Message msg) {
switch (msg.what) {
case GET_WALLPAPER:
getWallpaper();
return;
case CHANGE_WALLPAPER:
changeWallpaper(msg.arg1);
return;
}
}
};
按钮获得焦点
mIpSaveBtn.setEnabled(state);
mIpSaveBtn.setFocusable(state);
mIpSaveBtn.setFocusableInTouchMode(state);
获取组件必须要抛的异常
if (mAppIcon == null || mAppSize == null || mAppName == null 65
|| mAppVersion == null || mAppTotalSize == null 66
|| mAppDataSize == null || mAppCacheSize == null 67
|| mForceStop == null || mUninstall == null || mClear == null 68
|| mMoveApp == null | mProgressBar == null) { 69
throw new InflateException("Do you miss ga child?"); 70
}
颜色
17
18 <resources> <resources> 18
19 19
<color name="gray">#88888888</color> 20
20 <color name="white">#ffffffff</color> <color name="white">#ffffffff</color> 21
21 <color name="black">#ff000000</color> <color name="black">#ff000000</color> 22
22 <color name="translucent">#38383838</color> <color name="translucent">#38383838</color> 23
23 <color name="transparent">#00000000</color> <color name="transparent">#00000000</color> 24
<drawable name="gray">#88888888</drawable> 25
<drawable name="white">#ffffffff</drawable> 26
24 27
25 </resources> </resources>
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
switch (msg.what) {
case SHOW_MENU:
showMainMenu(true);
break;
case HIDE_MENU:
showMainMenu(false);
break;
}
}
};
private void showMainMenu(boolean show) {
if (show) {
mHandler.removeMessages(HIDE_MENU);
mHandler.sendEmptyMessageDelayed(HIDE_MENU, DELAYED_TIME);
} else {
finish();
}
}
onvaluechange接口中调用getcurrentvalue 没必要直接获取newval 0 ,1 pointItem中出现的问题 是由调用getcrrentvalue在回掉之后发生造成的
refreshDrawableState();
必须设置自己
public IpTextViewLayout(Context context, AttributeSet attrs) {
super(context, attrs);
setOnClickListener(this);
}
view.isInTouchMode()view是否在tochmode里边 遥控器enter执行到onclick方法中?
static变量在android中 Activity重启后static 变量不会再被初始化:语言设置改变语言环境后重启setting 根据headers中的static变量记忆最后一次点击了哪个header,达到重启setting焦点记忆不移动的目的。
重写requestForcus方法解决ontouchmode焦点问题
启动activity的方式
public static boolean startActivity(Context context, Intent intent) {
if (intent == null) {
return false;
}
try {
context.startActivity(intent);
return true;
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
return false;
}
public static boolean startActivity(Context context, String action) {
if (action == null || action.length() == 0) {
return false;
}
return startActivity(context, new Intent(action));
}
public static boolean startActivity(Context context, String pkg, String cls) {
if (pkg == null || pkg.length() == 0 || cls == null
|| cls.length() == 0) {
return false;
}
final Intent intent = new Intent();
intent.setClassName(pkg, cls);
return startActivity(context, intent);
}
public static boolean startActivity(Context context, ComponentName cpn) {
if (cpn == null) {
return false;
}
final Intent intent = new Intent();
intent.setComponent(cpn);
return startActivity(context, intent);
}
public static boolean startActivity(Context context, AppInfo app) {
if (app == null) {
return false;
}
return startActivity(context, app.cpnName);
}
public static boolean startActivityForPickApp(Context context, int category) {
try {
final Intent intent = new Intent(context, AppsActivity.class);
intent.putExtra(AppsActivity.EXT_MODE,
AppsActivity.MODE_PICK_ONE_APP);
intent.putExtra(AppsActivity.EXT_CATEGORY, category);
if (context instanceof Activity) {
((Activity) context).startActivityForResult(intent,
Launcher.REQ_CODE_PICK_ONE_APP);
return true;
} else {
context.startActivity(intent);
return true;
}
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
return false;
}
public static boolean startActivityForPickWidget(Context context,
int widgetId) {
try {
final Intent intent = new Intent(
AppWidgetManager.ACTION_APPWIDGET_PICK);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId);
if (context instanceof Activity) {
((Activity) context).startActivityForResult(intent,
Launcher.REQ_CODE_PICK_ONE_WIDGET);
return true;
} else {
context.startActivity(intent);
return true;
}
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
return false;
}
重启系统的setting
130|shell@android:/data/data/com.togic.settings # ll
system 6725 6339 542192 44364 ffffffff 400113c0 S com.togic.settings
app_8 6830 6339 433680 17796 ffffffff 400113c0 S com.android.providers.calendar
kshell@android:/data/data/com.togic.settings # kill 6725
接activity生命周期的办法
public void onResume() {
mTv.onResume();
}
onLayout 在onresume方法执行之后再执行 解决电视flash问题
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
LogUtil.d("changed=============================================="+changed);
if(changed){
prepareTv2();
}
}
mHandler.removeCallbacks(null);只能移除post提交的runnable
mHandler.removeMessages(MSG_UPDATE_SURFACE); 移除sendMessageDelayed提交的MSG_UPDATE_SURFACE
修复Ip连删 DEL事件只捕获按键抬起时事件,则必须先返回按键按下事件。
if (event.getAction() == KeyEvent.ACTION_DOWN) {
return super.dispatchKeyEvent(event);
}
if (event.getKeyCode() == KeyEvent.KEYCODE_DEL) {
final int count = this.getChildCount();
View child;
IpTextView ipText = null;
IpTextView preIpText = null;
int focusItem = 0;
for (int i = count - 1; i >= 0; i--) {
child = getChildAt(i);
if (child instanceof IpTextView) {
ipText = (IpTextView) child;
if ((ipText.length() == 0) && ipText.isFocused()) {
if (i - PRE_MOVE_STEP >= 0) {
focusItem = i;
mMovePreable = !mMovePreable;
}
}
}
}
if (focusItem != 0 && mMovePreable) {
mMovePreable = true;
preIpText = (IpTextView) getChildAt(focusItem - 2);
if (preIpText.hasFocusable()) {
preIpText.requestFocus();
}
}
}
return super.dispatchKeyEvent(event);
}
- 11-30
- 春節假倒計時11/30
- 05/11/30
- 2006-11-30 星期四
- 2009-11-30
- 11-30 刚到
- 笔记-11-30
- 2010/11/30
- 2011-11-30
- 2011-11-30
- 11 - 12 - 30记事
- 11月30日
- 2013-11-30
- 2015-11-30
- 2015/11/30 0000003
- 11狼21-30
- 2016-11-30
- 题目<2016/11/30>
- 浅谈自动化测试框架
- mtk android sd卡调试
- Eclipse中自动添加注释(作者,时间)
- 国外人工智能界牛人主页
- inno setup 安装/卸载 弹出网页
- 11-30
- IAP 简单流程整理
- 11-29
- jsp Flex 通过HTTPService Session 数据传递
- SqlServer Sysobjects系统表
- 2013年Java继续火的五大理由
- HyperionPlanning创建应用程序
- Java隐晦的int溢出 切忌想当然
- 【转】研究生必读→如何获得全文文献