随笔分类 - android
摘要:最近项目打板了,板子跑起来后发现Launcher的所有程序界面不能全屏(两边有黑框,只在中上部显示),但是主界面看上去是全屏显示的(后面证实也非全屏显示。)我们的屏是21寸的,分辨率为1980*1080。最开始以为是uboot里的屏幕参数没设置好,后面check之后发现没问题。没办法,只有去看Launcher的代码。首先,在我最开始就有一个误解,这个误解浪费我很多时间。由于最开始的时候主界面(也就是workspace)是没有黑框的,所以我一直认为workspace的代码是没问题的。后面经验证主界面也没有按屏幕的实际分辨率显示!Workspace.java中构造函数有如下代码: 1 final
阅读全文
摘要:最近新项目又需要修改android的上层的一些东西,更新了一下SDK、ADT。发现eclipse下对代码的跟踪很不方便,F3经常提示没有关联源码。在网上找一下解决了这个问题,在此分享出来。首先获取源码,路径是在frameworks/base/core/java下面,把这个目录下的所有内容拷贝出来。在android SDK里新建一个sources文件夹,比如:android-sdk-windows\platforms\android-15\sources再按F3提示未关联的时候,就把source的目录指定到sources文件夹就可以了。
阅读全文
摘要:是由于引入了一些external jar包与android/jdk产生冲突。解决办法,把jar当作system Libraries导入,并order and export里面把position提到前面就ok了!留个笔记以防下次又忘了。。
阅读全文
摘要:Android线程间通信机制当android应用程序运行时,一个主线程被创建(也称作UI线程),此线程主要负责处理UI相关的事件,由于Android采用UI单线程模型,所以只能在主线程中对UI元素进行操作,如果在非UI线程直接对UI进行了操作,则会报错,另外,对于运算量较大的操作和IO操作,我们需要新开线程来处理这些工作,以免阻塞UI线程,子线程与主线程之间是怎样进行通信的呢?此时就要采用消息循环机制(Looper)与Handler进行处理。一、基本概念Looper:每一个线程都可以产生一个Looper,用来管理线程的Message,Looper对象会建立一个MessgaeQueue数据结构来
阅读全文
摘要:一:不同的layout Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行...
阅读全文
摘要:The IOMUX controller contains four sets of registers that affect the i.MX53 registers, as follows:• General-purpose registers (IOMUXC_GPRx)—consist of three registers that control PLLfrequency, voltage, and other general purpose sets.• “Daisy Chain” control registers (IOMUXC_<Instance_port>_SE
阅读全文
摘要:一、GPIO基本知识GPIO的主要寄存器有 3个 DR GDIR PSR还有ICR1,ICR2,IMR,ISR 是GPIO的中断用寄存器,因为我目前没有使用,就不多说了。DR :数据读写寄存器,通过该寄存器控制对应GPIO的高低电平,或者读入GPIO的电平状态。GDIR:通知GPIO是通知于输出模式还是输入模式,0 GPIO is configured as input. 对应的位设置为0 则为输入1 GPIO is configured as output. 对应的位设置为1 则为输出如果对应的引脚设置为GPIO模式当GDIR设置为输入时,读DR寄存器,则返回引脚的电平状态当GDIR设置为输
阅读全文
摘要:具体操作步骤:先找到keystore (解释:是一个密码保护的文件,用来存储密钥和证书。),运行Eclipse,打开Preferences对话框,在Android-> build中可以看到Keystore的存放路径:例如:C:\Documents and Settings\×××\Local Settings\Application Data\Android\debug.keystore启动Command Prompt. 使用Keytool命令(keytool.exe存放在Java/bin目录下)。完整的命令行:>keytool -list -alia
阅读全文
摘要:dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。由此,根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看T
阅读全文
摘要:矩形碰撞检测:这种检测算法是给实体外层套上矩形(2D)或者圆柱形(3D),具体判断方法参考下面的图片算法如下:但是此种方法不能很好的满足游戏的要求,有时候会出现矩形框有触碰,但实体并未碰到的情况。可以再去计算重合区域的面积,只有重合比率达到一定的值才算发送碰撞,如下图(minX,minY为相对坐标较小点,maxX,maxY为较大点):重合区域面积为:(minY+h-maxY)*(minX+w-maxX)
阅读全文
摘要:假设:我这里有两个Activity:A和B,从A中向B中传递数据的时候采用的是Bundle封装数据,然后从A中跳转到B中,当B有需求将数据封装起来回传给A并跳转回A。那么A中接收数据时还要先判断Bundle是否为空,因为第一次访问A的时候(即B还没有回传的时候),Bundle是为空的,这样显然是比较麻烦的,不明智的做法。还好startActivityForResult来做跳转给了我们更好的解决办法。1.跳转的时候不是采用startActivity(intent) 这个方法,而是startActivityForResult(intent, 0)。1 Intent intent=new Inten
阅读全文
摘要:本文围绕 .9.png 格式图片讨论以下两个话题:1. 该格式图片的特点2. 制作方式一 .9.png 格式的文件的特点 与传统的png 格式图片相比, 9.png 格式图片在图片四周有一圈一个像素点组成的边沿,该边沿用于对图片的可扩展区和内容显示区进行定义。这种格式的图片在android 环境下具有自适应调节大小的能力。(1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更大区域时,可扩展区的内容被延展。(2)允许开发人员定义内容显示区,用于显示文字或其他内容 如下图所示: 左侧和上方的黑线交叉的部分即可扩展区域 右侧和下方的黑线交叉的部分即内容显示区二、 .9.png 图片的制
阅读全文
摘要:An activity has essentially four states:①If an activity in the foreground of the screen (at the top of the stack), it isactiveorrunning.②If an activity has lost focus but is still visible (that is, a new non-full-sized or transparent activity has focus on top of your activity),it ispaused. A paused
阅读全文
摘要:转自:http://oxen.javaeye.com/blog/142126通过Android提供的NotePad示例应用,及帮助文档中对菜单的相关描述,现将如何在我们的Androiod应用中定制我们自己的菜单,做一个小结。一、菜单的生成 对一个Android应用中的每一个屏幕,也就是说,对每一个Activity类,都会拥有一个默认菜单。在Activity类中,定义了几个与菜单有关的方法,供继承于Activity类的子类去重载,从而定制我们自己的菜单。这几个方法为:public boolean onCreateOptionsMenu(android.view.Menu menu);public
阅读全文
摘要:ContentProvider类实现了一组标准的方法接口,从而能够让其他的应用保存或读取此Content Provider的各种数据类型。也就是说,一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据暴露出去。外界根本看不到,也不用看到这个应用暴露的数据在应用当中是如何存储的,外界可以通过这一套标准及统一的接口和程序里的数据打交道,其常见方法如下:• query(Uri uri, String[] projection, String selection, String[] selectionArgs,String sortOrder):通过Uri 进行查询,返回一个C
阅读全文
摘要:SimpleCursorAdapter与SimpleAdapter类似,使用SimpleCursorAdapter更适合绑定数据库的记录集,在业务类中查询返回Cursor,然后将Cursor赋给SimpleCursorAdapter。详细内容参考示例:首先,在业务类PersonService中加入返回Cursor的方法getRawScrollData(),代码如下:1 PersonService.java2 public Cursor getRawScrollData(int startResult, int maxResult){3 List<Person> persons =
阅读全文
摘要:Adapter在Android中占据一个重要的角色,它是数据和UI(View)之间一个重要的纽带。在常见的View(ListView GridView Gallery Spinner)等地方都需要用到Adapter。一、ArrayAdapter:BaseAdapter的具体实现,在实例化时可以使用泛型结构,ArrayAdapter 负责把一个字符串数组中的数据填充到一个View当中。 1 //首先声明一个Spinner类的对象 2 Spinner s=(Spinner)findViewById(R.id.flipper); 3 //之后调用ArrayAdapter 4 ArrayAdapter
阅读全文
摘要:一、SQLiteOpenHelper: 这个类主要生成一个数据库,并对数据库的版本进行管理。当在程序当中调用这个类的方法getWritableDatabase(),或者getReadableDatabase()方法的时候,如果当时没有数据,那么Android 系统就会自动生成一个数据库。SQLiteOpenHelper 是一个抽象类,我们通常需要继承它,并且实现里边的3 个函数,具体函数如下所示。 • onCreate(SQLiteDatabase):在数据库第一次生成的时候会调用这个方法,一般我们在这个方法里边生成数据库表。 • onUpgrade(SQLiteDatabase, in...
阅读全文
摘要:SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice ’disk’, ’testBack’, ’c:mssql7b
阅读全文
摘要:在android中使用openFileInput和openFileOutput读取设备上的文件,这两个方法只支持读取该应用目录下的文件,路径位于/data/data/<package name>/files目录中读取非其自身目录下的文件将会抛出异常。需要提醒的是,如果调用FileOutputStream 时指定的文件不存在,Android 会自动创建它。另外,在默认情况下,写入的时候会覆盖原文件内容,如果想把新写入的内容附加到原文件内容后,则可以指定其mode为Context.MODE_APPEND。1 String FILE_NAME = “tempfile.tmp”; //确定
阅读全文