`
meohao
  • 浏览: 94267 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
Android IDL =aidl 是一种idl(接口定义)语言,轻量级 它可以生成一段代码,可以使在一个Android设备上运行的两个进程使用内部通信进程进行交互。 1.建立一个aidl文件 package com.google.android.sample; interface MDSInterface{    void playFile(int position); }; 2.aidl会自动生成一个接口文件,文件名和aidl文件名一致,生成的接口包括一个内部抽象类,名称为Stub. MSDTnterface.Stub mBindler = new MSDTnterface.Stub(){ ...
学习:博客《老罗的Android之旅》中的事件传递,了解详情可以去他的博客看看,很多经典详细的源码分析!值得一看。    在Android系统中,键盘按键事件是由WindowManagerService服务来管理的,然后再以消息的形式来分发给应用程序处理,不过和普通消息不一样,它是由硬件中断触发的; 在系统启动的时候,SystemServer会启动窗口管理服务WindowManagerService,WindowManagerService在启动的时候就会通过系统输入管理器InputManager来总负责监控键盘消息。这些键盘消息一般都是分发给当前激活的Activity窗口来处理的,因此,当前激 ...
   在非UI线程中是不允许执行UI操作的,一般在非UI线程中可以采用Timer和handler来完成UI更新,或者直接用handler的postDelayed(),或者用AsyncTask(这里不展开)。其代码片段如下: Handler mHandler = new Handler(){      public void handleMessage(Message msg) {          switch (msg.what) {               case MSG_TIMER:                    setTitle("Timer"); ...
在使用PopupWindow时报如下错误: android.view.WindowManager$BadTokenException: Unable to add window token null…… PopupWindow必须在某个事件中显示或者是开启一个新线程去调用,不能直接在onCreate方法中显示一个PopupWindow,否则永远会报错。
    目前手机应用已经越来越多的用到了手势,其中Launcher中大家比较熟悉的就是屏幕缩略图,那么简单的实现就需要了解之前的那篇博客,关于ViewGroup和View的触屏事件的描述,这里也用到了比较重要的两个方法。onInterceptTouchEvent()和onTouchEvent()。     熟悉Launcher的人都会知道源码中会有一个DragLayer类,这个DragLayer是覆盖在WorkSpace上面的一层拖动层,那么要实现两只手指呈“捏”的手势,形成屏幕缩略图就得从该类做文章,重写onInterceptTouchEvent()、onTouchEvent()。 @over ...
   Android4.0平台上第一次按Menu功能键未调用onPrepareOptionsMenu(),很诡异,一般在2.2/2.3的Android平台上,onCreateOptionsMenu()和onPrepareOptionsMenu()这两个函数在创建Activity的时候就会被依次被调用,但Android4.0平台上第一次按Menu功能键却怎么没有调用onPrepareOptionsMenu(),所以有些应用需要统一处理第一次动态改变的菜单问题。第一次按Menu键时都会执行onCreateOptionsMenu(),然后定义个成员mMenu来记录当前的状态,重写onKeyDown() ...
SQLite本身是区分大小写查询的,大部分数据库在进行字符串比较的时候,对大小写是不敏感的,但是在SQLite中,对大小写是敏感的。 那么有时候有这样的需求,让SQLite不区分大小写查询,那么有如下三种方式: 1.使用大小写转换函数LOWER、UPPER。 2.在进行比较时强制声明不区分大小写:"COLLATE NOCASE" 。 3.创建表时声明该字段不区分大小写。 这三种方式有相应的优缺点,那么下面是它们使用的场景: 1.如果任何情况都不需要大小写敏感,方式3就是最好的解决方案 2.如果只是少量查询对大小写不敏感,可以用方案2 3.方案一由于用到了函数,可能会有额外 ...
public void onClick(View v){}提示错误:必须实现抽象方法。 找了半天原来是利用自动导包工具导入的包张冠李戴了。 本来应该是import android.view.View.OnClickListener 却自动导入成了import android.content.DialogInterface.OnClickListener, 修改为上面的就OK了
静态方法中不能出现this,super之类的关键字 原因:静态对应的描述为属于某一个类,而this,super对应的描述属于某一个对象,编译的时候,会先编译静态的,所以在静态方法中调用this,super不合逻辑,引用不到当前的实例。
layout_weight的使用环境: 1.控件所在Layout必须是LinearLayout。 2.LinearLayout的orientation属性设置成"horizontal" 3.子控件的layout_weight属性设置为"fill_parent"
当用户点击自定义的退出按钮或者返回键时(需捕获动作),我们在onDestroy()里强制退出应用,或者直接杀死进程,具体操作的代码片段如下: @override protected void onDestroy(){    super.onDestroy();    System.exit(0);    //或者使用下面这种方式    //android.os.Process.killProcess(android.os.Process.mypid()); }
从某一个Activity跳转到Launcher的主界面(桌面) Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addCategory(Intent.CATGORY_HOME); startActivity(intent);
EditText et=new EditText(""); et.setFilters(new InputFilter[]{new InputFilter.lengthFilter(254)}); 这样就对该编辑框的输入字符进行了限制,只能输入254个字符
android:layout_gravity="Center" 设置控件居中 android:gravity="Center"  设置文本居中
怎样判断文本文件的编码格式? 不同编码的文本,是根据文本的前两个字节来定义其编码格式的: ANSI: 无格式定义 Unicode:前两个字节为FFFE Unicode big endian:前两个字节为FEFF UTF-8:前两个字节为EFBB
Global site tag (gtag.js) - Google Analytics