Android, Java, JavaScript, Linux, reading...

推荐一个Chrome浏览器翻墙插件 [置顶]


人际交往的六种模式


六种模式分别是:

双赢:利人利己;
输/输:两败俱伤;
赢/输:损人利己;
赢:独善其身;
输/赢:舍己为人;
无交易:好聚好散。

阅读全文 »


Android常见问题汇集


1、4大组件:Activity,Service,Content Provider,BroadcastReceiver.

2、AbsoluteLayout,FrameLayout,RelativeLayout,LinearLayout,TableLayout.

3、startservice和bindService生命周期差别:

onCreate()..onStart()..onDestroy();
OnCreate()..onBind()..onUnbind()..onDestroy();
可startService()或bind()多次,但只onCreate()一次。

4、Handler, Looper, MessageQueue和UI Thread关系。

Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue 统一列队,终由Handler 处理。
Handler:处理者,负责Message 的发送及处理。使用Handler 时,需要实现handleMessage(Message msg)方法来对特定的Message 进行处理,例如更新UI 等。
MessageQueue:消息队列,用来存放Handler 发送过来的消息,并按照FIFO 规则执行。当然,存放Message并非实际意义的保存,而是将Message以链表的方式串联起来的,等待Looper 的抽取。
Looper:消息泵,不断地从MessageQueue 中抽取Message 执行。因此,一个MessageQueue需要一Looper。Thread:线程,负责调度整个消息循环,即消息循环的执行场所。

5、Android多线程方法。

1)Activity.runOnUiThread(Runnable)
2)View.post(Runnable) ;View.postDelay(Runnable , long)
3)Handler
4)AsyncTask

6、sleep(),wait()含义。

sleep是静态方法,是进入等待池中等待。
wait()是进入等待池等待,让出系统资源。等待其他线程调用notifyall方法唤醒等待池中的所有线程。

7、单例模式中,懒汉式和饿汉式的区别。

饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变。
懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。

8、JNI、AIDL区别。

jni 是用于 java 应用层去调用 c++ 或者c 编写的库。比如Cocos2dx游戏开发,游戏主体在C++中实现,通过Java层调用。
aidl 是用于进程间的通信,跨进程服务。有点像应用群体内的一个能提供特定服务的供应商。

9、Android APK的数字签名的作用

这个数字签名由应用程序的作者完成,并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。

10.ListView解决方案。

setTag,图片缓存

11.同步异步区别。

同步解决数据共享问题,控制某一资源的访问。对象锁。
异步解决一个对象的某一方法同时被多个点竞争访问的问题。对象锁,信号量。

12.多屏幕适配问题

a.使用宽度及高度适配的界面布局,最大限度兼容各类尺寸屏幕。
b.对于一些特殊界面,如仅能一屏显示,而不同尺寸屏幕显示效果不一样时,可针对特定屏建立布局文件来解决。
c.相应地,不同布局会用到不同分辨率图片。
例子有,MEZU手机,华为手机,作过针对适配。

13.Android View 树的绘制

Adroid的UI界面都是由View和ViewGroup及其派生类组合而成的。View 树的绘制从顶向下逐层进行绘制。

14.低版本如何实现高版本功能及风格统一。

引入android-support-v4.jar。自定义一些界面风格,从而在不用厂商生产的手机上达到一致的界面效果。

15.遇到过的难于解决的问题

视情况回答。

阅读全文 »


提升自我的方法


如下方面:
1、每天学习。
2、学习新语言。
3、打造你的灵感空间。
4、战胜你的恐惧。
5、升级你的技能。
6、给未来的自己写一封信。
7、承认自己的缺点。
8、立即行动。
9、向佩服的人学习。
10、减少在QQ上的时间。
11、培养一个新习惯。
12、让过去的过去。
13、帮助他人。
14、好好休息。
15、多多反省。
...

阅读全文 »


返回系统HOME桌面


在程序里不关闭应用,返回到系统HOME桌面的代码:

阅读全文 »


让带EditText界面不聚集(无输入键盘弹出)


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <LinearLayout
        android:layout_width="0px"
        android:layout_height="0px"
        android:focusable="true"
        android:focusableInTouchMode="true" />
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
</LinearLayout>

阅读全文 »


读《暗时间》一书


前不久读了《暗时间》一书,书中列举了暗时间的8个方面:

阅读全文 »


背景为shape selector的drawable的问题


背景为selector(item statepressed="false" shape)时,里面的条目只能为selector(item statepressed="true" shape),否则选中无效果。

阅读全文 »


让Android ProgressDialog在按返回键可dismiss


让ProgressDialog可按返回键时dismiss,但空白区不dismiss。

progressDialog.setCanelable(true);
progressDialog.setCanceledOnTouchOutside(false)

阅读全文 »