摘要:一、禁止横竖屏切换Android横竖屏切换在手机开发中比较常见,很多软件在开发过程中为了避免横竖屏切换时引发不必要的麻烦,通常禁止 掉横竖屏的切换,即通过在AndroidManifest.xml中设置activity中的android:screenOrientation属性值 来实现。该android:screenOrientation属性,他有以下几个参数:"unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向."landscape":横屏显示(宽比高要长)"portrait&qu
阅读全文
摘要:作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用。下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用,先来看看android-sdk-windows\tools\lib\proguard.cfg的内容:[ht
阅读全文
摘要:本文转自:http://www.cnblogs.com/tt_mc/archive/2012/03/10/2389555.html在不同的分辨率下,Android字体大小怎么自适应分辨率的变化?假设需要适应320x240,480x320分辨率。在res目录下新建文件夹values-320x240,values-480x320。然 后在文件夹values ,values-320x240 和 values-480x320 下新建xml文件dimens.xml,该xml文件内容如下:1234<?xml version="1.0" encoding="utf-8&q
阅读全文
摘要:由于最近做的项目中也用到了这个功能,今天刚好实现了下,就趁现在有时间写篇博客分享下。在做的时候也参考了下别人的代码,毕竟站在巨人的肩膀上才会是自己更加强大。哈哈!先看看新浪的下拉更新是什么样的吧! OK,今天我们要实现的就是上面的下拉刷新功能。 首先实现下拉刷新的布局文件 layout/head.xml[html] view plaincopy<?xmlversion="1.0"encoding="utf-8"?><!--ListView的头部--><LinearLayoutxmlns:android="http:
阅读全文
摘要:我们在页面布局的时候,经常会设置容器的长度,但是到底该使用哪个作为长度的单位而懊恼。在Android中支持的描述大小区域的类型有以下几种:px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般我们为了支持WCGA、HVGA和QVGA推荐使用这个,不依赖于像素。等同于dp。sp(scaled pixels—best for text size)——带比例的像素。pt(points)——磅:1pt = 1/72英寸in(inches)——英寸
阅读全文
摘要:这里重点介绍的是利用jdk中的两个工具对Android的应用程序包apk文件进行签名。主要分为3个步骤:第一步生成签名文件,第二步对apk文件签名,第三步验证签名。以下是执行命令,注意此段命令所生成的签名文件和apk文件在同一目录下。首先进入dos命令行,运行-->cmd --> cd apk所在的路径(以下简称apk_dir)第一步生成签名文件apk_dir>keytool -genkey -keystore hellos.keystore -aliashello -keyalg RSA -validity 2000输入keystore密码:1q1q1q再次输入新密码:1q
阅读全文
摘要:我的机子很老,开启个android模拟器都要好几分钟,但幸亏有个android的真机,这样直接在andriod手机上调试也是一个不错的选择。下面我就介绍 一下使用android手机来调试android应用程序所需要的步骤:(典型的Hello World程序)1、手机通过数据线连接在电脑上2、设置android手机为USB调试模式。步骤: menu—> 设置 —> 应用程序 —> 开发 , 选择【USB调试】没安装驱动的,需要先下载安装驱动。谷歌官方提供: Android驱动下载 https://dl-ssl.google.com/android/repository/usb_
阅读全文
摘要:项目要用到一个listview,要求是可以显示图片,后面还有有复选框。先新建一个MyAdapter类,继承自BaseAdapter。在MyAdapter中实现对数据的绑定,我这儿由于是测试的,所以把数据写死了。Java代码 package com.zwq.umeng; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.content.Context; import android.view.Layou...
阅读全文
摘要:第一个要点:首先要有良好的编程习惯要成为一名优秀的资源管理员;既要运用常识,还要使用公认的算法和标准的设计模式。在资源使用方面,如果你打开了资源,要记得关闭资源。要尽量晚地获取,尽量早地释放。这些由来已久的编程准则同样适用于你的Android应用程序,如果它们使用底层的设备服务,更是如此。比如说,假设你编写的一个应用程序依赖基于位置的服务。除非你绝对有必要,否则不要开始注册、获取位置最新信息;而且要确保,一旦你不再需要这些信息,就要取消获取最新信息的注册。这将帮助你避免不必要地耗费设备电池电量或占用系统资源。第二个要点:让阻塞操作远离主用户界面线程想确保你的应用程序运行起来很灵活,就要使用As
阅读全文
摘要:各种颜色值,方便查找http://wenku.baidu.com/view/74dfd0ea856a561252d36ffe.html-------------------------------------------------------------------<?xml version="1.0" encoding="utf-8" ?><resources><color name="white">#ffffff</color><!--白色 --><color n
阅读全文
摘要:内容来自sqlie的官网(http://www.sqlite.org/datatype3.html)大部分SQL数据库引擎使用静态数据类型,数据的类型取决于它的存储单元(即所在的列)的类型。SQLite3采用了动态的数据类型,存储值的数据类型和数值本身相关,而不是由它的字段的类型决定。SQLite3的动态数据类型能够向后兼容其它数据库普遍使用的静态类型,这就意味着,在那些使用静态数据类型的数据库上使用的数据表,在SQLite3上也能被使用。SQLite3具有以下5种存储类别(在这里,存储类别和数据类型有所区别):NULL 空值INTEGER 带符号整数,根据存入的数值的大小占据1,2,3,4,
阅读全文
摘要://触摸显示悬浮的按钮@Overridepublic boolean onTouch(View v, MotionEvent event) { if(!zoomControls.isShown()) { //用一个定时器定时 final Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { Message message = new Message(); message.what = 1; handler.sendMessage(message); } Handle
阅读全文
摘要:首先看看AndroidManifest.xml 1: <?xml version="1.0" encoding="utf-8"?> 2: <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3: package="com.hi.braincol.local" 4: android:versionCode="1" 5: android:versionName="1.0">
阅读全文
摘要:SQLite是非常流行的嵌入式关系型数据库,轻载, 速度快,而且是开源。在Android中,runtime提供SQLite,所以我们可以使用SQLite,而且是全集的SQLite。SQLite提供 SQL接口,和一般的数据库一样。但是Android的API不采用JDBC,JDBC消耗太多的资源。SQLite支持绝大部分SQL-92标准,不支持:FOREIGN KEY constraints, nested transactions, RIGHT OUTER JOIN, FULL OUTER JOIN, and some flavors of ALTER TABLE.而我们在手持终端上使用SQL
阅读全文
摘要:启动界面Splash Screen在应用程序是很常用的,往往在启动界面中显示产品Logo、公司Logo或者开发者信息,如果应用程序启动时间比较长,那么启动界面就是一个很好的东西,可以让用户耐心等待这段枯燥的时间。Android 应用程序创建一个启动界面Splash Screen非常简单。比如创建一个工程MySample,主Acitity就叫MySample,创建另一个Activity叫 SplashScreen,用于显示启动界面,资源文件为splash.xml。SplashScreen的代码如下:package com.ctoof.android;import android.app.Acti
阅读全文
摘要:一。不让程序默认升起IME输入框有两种方法: 1.让EditText失去焦点,使用EditText的clearFocus方法 2.强制隐藏Android输入法窗口,在IME类中我们通过实例化输入法控制对象,通过hideSoftInputFromWindow来隐藏IME输入框。Toast.makeText(WindowBackgroundColorActivity.this, "焦点改变", Toast.LENGTH_SHORT).show(); InputMethodManager imm = (InputMethodManager)getSystemService(Con
阅读全文
摘要:关键代码:LayoutInflater mLayoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);View menuView = (View)mLayoutInflater.inflate(R.layout.alert_dialog_menu_layout_new, null, true);//弹出窗口包含的视图popupWindow = new PopupWindow(menuView, LayoutParams.FILL_PARENT,238, true);//创建弹出窗口,指定大小 popup
阅读全文
摘要:Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl
阅读全文
摘要:<RadioGroupandroid:id="@+id/group"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><RadioButtonandroid:id="@+id/button1"android:layout_width="fill_parent"android:layout_height=&qu
阅读全文
摘要:Activity生命周期: 一个activity主要有三个状态: ·当在屏幕前台时(位于当前任务堆栈的顶部),它是活跃或运行的状态。它就是相应用户操作的activity。 ·当它失去焦点但仍然对用户可见时,它处于暂停状态。即是:在它之上有另外一个activity。这个activity也许是透明的,或者未能完全遮蔽全屏,所以被暂停的activity仍对用户可见。暂停的activity仍然是存活状态(它保留着所有的状态和成员信息并连接至窗口管理器),但当系统处于极低内存的情况下,仍然可以杀死这 个activity。 ·如果它完全被另一个activity覆盖是...
阅读全文