1.用好 AsyncTask 一个优秀的android app,肯定少不了一个很好的用户体验,除了界面等外,流畅的交互,快速响应的速度都是至关重要,若 是加载一个数据,都得等上几秒钟,怕是app卸载率就得提高了,android程序在启动的时候,会单独启动一个进程,默认情况下所 有的程序都在这个进程中进行,也就是说一个android程序默认情况下只有一个进程,但是一个进程可以有多个线程. 在这些线程中,有一个线程叫做UI线程,也叫做Main Thread,除了Main Thread之外的线程都可称…
Android开源框架库分类,挑选出最常用,最实用的开源项目,本篇主要介绍的是优秀开源框架库和项目,UI个性化控件会独立介绍.UI个性化控件 Index Dependency Injections AndroidAnnotations Butter Knife Dagger Networking Android Lite Http Asynchronous Http Client for Android Async Http Client HttpCache Http Request Ion O…
android中调用系统拍照功能并显示拍照的图片 如果你是拍照完,利用onActivityResult获取data数据,把data数据转换成Bitmap数据,这样获取到的图片,是拍照的照片的缩略图 代码如下: package com.example.myphotos; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOExcept…
在之前的博客为大家带来了很多关于Android和jsp的介绍,本篇将为大家带来,关于Andriod中常用控件及属性的使用方法,目的方便大家遗忘时,及时复习参考.好了废话不多讲,现在开始我们本篇内容的介绍. 1.控制应用显示的方向: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖直显示效果. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LA…
最近和几个朋友交流Android开发中的网络下载问题时,谈到了用Thread开启下载线程时会产生的Bug,其实直接用子线程开启下载任务的确是很Low的做法,那么原因究竟如何,而比较高大上的做法是怎样?于是用这篇博文详细分析记录一下. 一.概念介绍 Thread是指在CPU运行的一个程序中,可以有多个执行路径.运行的程序称作进程,而这个执行路径,就被称为线程(如果对这两个名词不太理解的同学可以参考一下操作系统方面的书籍).Java中的多线程是指多个Thread可以在一段内同步执行,这样可以提高代码…
Android在UI布局时经常用到一些单位,对单位混用直接会影响UI的显示,要想正确的在布局中使用每种单位就必须先真正的熟悉它. UI显示效果的影响因素:屏幕尺寸.屏幕密度.分辨率:而android手机种类又比较多,为了适应不同的设备,我们就要注意drawable和layout资源. 常用的单位有:px.dip(dp).sp,还要一些不常用的单位,如pt.in.mm. px:对应屏幕上的实际像素点: dip(dp):设备独立像素,一种基于屏幕密度的抽象单位,在每英寸160点得显示器上,1dip=…
Android中的几种常用的布局,主要介绍内容有: View视图 RelativeLayout    相对布局管理器 LinearLayout     线性布局管理器 FrameLayout     真布局管理器 TableLayout     表格布局管理器 GridLayout     网格布局管理器 (1) View在XML文件中的常用属性定义: layout_margin:指定该视图与周围视图之间的空白距离(包括上下左右),(可分别写成layout_marginTop.layout_ma…
一般分为5大类. Android中所有的空间第一字母都是大写 1.线性布局 LinearLayout 2.相对布局 RelativeLayout 3.帧布局--分层显示  FrameLayout 4.表格布局  TableLayout 5.绝对布局 (被google废弃了)…
转自:http://blog.csdn.net/centralperk/article/details/7493731 我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框.当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有…
正文: 这里主要介绍的是hibernate使用到的.jar Hibernate一共包括了23个jar包,令人眼花缭乱.本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍. 下载Hibernate,例如2.0.3稳定版本,解压缩,可以看到一个hibernate2.jar和lib目录下有22个jar包: hibernate2.jar: Hibernate的库,没有什么可说的,必须使用的jar包 cglib-asm.jar: CGLIB库,Hibernate用它来…
1.数字摘要 是指通过算法将长数据变为短数据,通常用来标识数据的唯一性,是否被修改,常用的加密算法有md5和sha1两种,如Android的App签名也是用的这两种算法. md5具有不可逆性,也可用来作为密码加密,并且通常情况下为了让加密过程变得不可预测,我们会进行加盐操作,如下代码: /** * 使用md5方式进行加密 * @return */ public static String digest(String content){ StringBuilder builder = new St…
第一种: 使用SharedPreferences存储数据 适用范围: 保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小游戏的玩家积分等),解锁口 令密码等 核心原理: 保存基于XML文件存储的key-value键值对数据,通常用来存储一些简单的配置信息.通过DDMS的File Explorer面板,展开文件浏览树,很明显SharedPreferences数据总是存储在/data/data/<package name…
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面. 所有的布局方式都可以归类为ViewGroup的5个类别,即ViewGroup的5个直接子类.其它的一些布局都扩展自这5个类 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(TableLayout):按照行列方式布局组件. 相对布局(RelativeL…
转载:http://blog.chinaunix.net/uid-11898547-id-3303153.html http://www.tudou.com/home/_328390108/item 一,适配器.顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示.可以看作是界面数据绑定的一种理解.它所操纵的数据一般都是一些比较复杂的数据,如数组,链表, 数据库,集合等.适配器就像显示器,把复杂的东西按人可以接受的方式来展现. 那么适配器是怎么处理得到的数据,并把它显示出来的呢.其实很…
使用URI需要注意:当应用需要和手机里的文件或者程序互动时需要为该应用增加权限.在AndroidManifiest.xml文件中的根元素中增加如下配置 例如: 1.当应用需要读取.添加联系人时: 授予读联系人ContentProvider的权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> 授予写联系人ContentProvider的权限 <uses-permission andr…
文章来源:http://www.cnblogs.com/netsql/archive/2013/03/02/2939828.html 1.软件自动更新下载,并提示 2.软件登录注册,以及状态保存 3.加载进度提示,页面刷新功能 4.列表呈现和分页,文字,图片,按钮,表格,表单常见元素等,并提供搜索过滤功能,最主要的是数据如何缓存,避免每次都要重新下载,减少流量. 5.详细页面的显示 6.退出功能的提示 7.定位功能 8.短信和打电话功能 9.导航条和菜单功能 10.图片显示和拍照上传功能 11.…
  一,适配器. 顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示.可以看作是界面数据绑定的一种理解.它所操纵的数据一般都是一些比较复杂的数据,如数组,链表, 数据库,集合等.适配器就像显示器,把复杂的东西按人可以接受的方式来展现. 那么适配器是怎么处理得到的数据,并把它显示出来的呢.其实很简单,说白了适配器它也是一个类,在类里面它实现了父类的这几个方法:   publicint getCount() //得到数据的行数 public Object getItem(int posi…
要想实现android手机通过扫描名片,得到名片信息,可以使用脉可寻提供的第三方SDK,即Maketion ScanCard SDK,脉可寻云名片识别服务.他们的官方网站为http://www.maketion.com/. 一.概述 Maketion ScanCardSDK(以下简称SDK)是提供给第三方合作伙伴接入脉可寻云名片识别服务,合作伙伴需要先申请key和secure才可以使用. SDK不能独立运行,使用时需要嵌入到Android的Project中. SDK支持Android2.1版本及…
接上篇博客 (3)LinearLayout     线性布局管理器 线性布局管理器是将放入其中的组件按照垂直或水平方向来布局,每一行或每一列只能放一个组件,并且不会换行,当组件排列到窗体的边缘后,后面的组件就不会显示出来. 常用属性: 常用属性:                   android:orientation(horizontal 水平,vertical 垂直)                   android:gravity(对齐方式)     设置组件的对齐位置       …
1. 从resource的raw中读取文件数据: String res = ""; try{ //得到资源中的Raw数据流 InputStream in = getResources().openRawResource(R.raw.test); //得到数据的大小 int length = in.available(); byte [] buffer = new byte[length]; //读取数据 in.read(buffer); //依test.txt的编码类型选择合适的编码,…
一.线性布局----LinearLayout   horizontal 水平 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_heig…
(一)选项菜单 1.简单的创建菜单: @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); // 添加菜单 menu.add("菜单选项1"); /* * pram1:组号 pram2:唯一的ID号 pram3:排序号 pram4:标题 */ menu.add(1, Menu.FIRST, Menu.FIRST, "菜单选项2"); //…
1 尺寸单位定义 px(pixel,像素):每个px对应屏幕上的一个点 dip或dp(device independent pixels,设备独立像素):一种基于屏幕密度的抽象单位.在每英寸160个点的显示器上,1dip = 1px.但随着屏幕密度的改变,dip与px的换算会发生改变,dp是与实际尺寸匹配的单位 sp(scaled pixels,比例像素):主要处理字体的大小,可根据用户的字体大小首选项 进行缩放 in(inch,英寸):标准长度单位,1inch = 25.4mm pt(poin…
一:AsyncTask 的使用 (1)activity_main.xml <TextView android:id="@+id/tvInfo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <ProgressBar android:la…
开机Logo的路径: bootable\bootloader\lk\dev\logo 开机Logo图片分辨率路径: device\rq\rq6735_35gt_b_l1\ProjectConfig.mk BOOT_LOGO = wvga 开机动画的路径: frameworks\base\data\logo\bootanimation.zip 压缩包中desc.txt文件里定义了动画的分辨率和播放相关的设置. 开发板开机动画路径: /system/media/bootanimation.zip 开…
1.@Nullable  作用于函数参数或者返回值,标记参数或者返回值可以为空. 2,@NonMull 作用于函数参数或者返回值,标记参数或者返回值不可以为空. 3.@LayoutRes 标记整数值android.R.layout类型 4.@UiThread 标记运行在UI线程 中 5.@MainThread 标记运行在主线程中 6.@workThread 标记运行在后台线程中 7.@binderThread 标记运行在Binder线程中 8.@RequiresPermission 标记运行权限…
在很多开发中,项目为了节约资源,都把一个类的构造函数变为私有化,这样整个项目中就不能创建多个实例,这样的方法我们称为单例模式 现在通过代码来简介下这个单例模式: 在新建一个java项目后,创建一个实体类User.java,和测试类,main.java 代码如下: public class User { private static User user; //添加该实例的属性 private String name; private String sex; private String age;…
MainActivity如下: package cc.testunitswitch; import android.os.Bundle; import android.util.DisplayMetrics; import android.app.Activity; /** * Demo描述: * 利用代码实现dp,px,sp之间的相互转换 * * 参考资料: * 1 http://blog.csdn.net/fx_sky/article/details/8588703 * 2 http://b…
一.取得地址栏后的参数 /** * 假设地址栏url为:login.do?username = "这里中文的话会是特殊字符组成的" */ //定义一个取得参数值的函数 function getParameter(b) { var c = new RegExp("[?&]" + b + "=([^&]+)", "i"), a = location.search.match(c); return a ? a[1]…
1.匿名内部类的方式 2.创建一个类实现onClickListener,实现onClick方法,设置控件点击时传一个类的对象 3.让当前类实现onClickListener,设置控件点击事件时传递一个this.这种方式适合按钮比较多的情况,一般在公司采用该方式 4.在布局文件中为控件添加一个onClick属性,在布局对呀的Activity中写一个 onClick 属性值为名的方法,要 publick,传一个View类型的参数,比较适合做简单的测试. 布局: 1.线性布局(垂直,水平):Linea…