Categories
不学无术 木有技术

Android BASE64 编码/解码

http://developer.android.com/reference/android/util/Base64.html
http://hi.baidu.com/xxfaxy/item/4c44f6fd4539dd5cc8f33705
首先导入包
import android.util.Base64;
String 变量=android.util.Base64.encodeToString(字符串.getBytes(),Base64.DEFAULT);
也可简写为
String 变量=Base64.encodeToString(字符串.getBytes(),Base64.DEFAULT);
至于解码
byte b[]=android.util.Base64.decode(字符串,Base64.DEFAULT);
String 变量=new String(b);

byte b[]=android.util.Base64.decode(字符串,Base64.DEFAULT);
Categories
不学无术 木有技术

PHP/ANDROID JSON传二进制数据 BASE64编码

来自以下两篇文章:
http://www.cnblogs.com/sqzzy/p/3291791.html
http://hi.baidu.com/xxfaxy/item/4c44f6fd4539dd5cc8f33705
 
今天在做手机项目中的表情模块。   后台:表情包的上传自动解压缩->各种封面的替换->表情的详细资料,提供表情包和单张表情的下载->统计表情下载的人数和人次  前台:开放下载 api接口。  难点:后台表情的图片二进制流和ios/安卓的交互。二进制流传递的问题  获取图片二进制流方法:$str  = file_get_contents(‘http://www.baidu.com/logo.gif’); //可以直接获取图片的二进制流,而且还是字符串类型  我们采用的是json传递的方式:如果json_encode($str); //会显示一个null  这时候的解决方案是:采用可逆的编码base64对二进制字节流进行编码转换  $base64 = base64_encode($str);  然后把这个组合成想要的格式进行json_encode();  和前台交互。所以在进行二进制流传递的时候,最好进行编码转换一下。首选 base64编码转换
 
============
首先导入包
import android.util.Base64;
String 变量=android.util.Base64.encodeToString(字符串.getBytes(),Base64.DEFAULT);
也可简写为
String 变量=Base64.encodeToString(字符串.getBytes(),Base64.DEFAULT);
至于解码
byte b[]=android.util.Base64.decode(字符串,Base64.DEFAULT);
String 变量=new String(b);

byte b[]=android.util.Base64.decode(字符串,Base64.DEFAULT);
Categories
木有技术

【转载】[Android问答] px、dp和sp,这些单位有什么区别?

原文见:http://www.cnblogs.com/bjzhanghao/archive/2012/11/06/2757300.html
相信每个Android新手都会遇到这个问题,希望这篇帖子能让你不再纠结。

px:

即像素,1px代表屏幕上一个物理的像素点;
px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示。

dp:

这个是最常用但也最难理解的尺寸单位。它与“像素密度”密切相关,所以首先我们解释一下什么是像素密度。假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240×320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这部手机的像素密度,像素密度的单位dpi是Dots Per Inch的缩写,即每英寸像素数量。横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。
不同的手机/平板可能具有不同的像素密度,例如同为4寸手机,有480×320分辨率的也有800×480分辨率的,前者的像素密度就比较低。Android系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi),它们对应的dp到px的系数分别为0.75、1、1.5和2,这个系数乘以dp长度就是像素数。例如界面上有一个长度为“80dp”的图片,那么它在240dpi的手机上实际显示为80×1.5=120px,在320dpi的手机上实际显示为80×2=160px。如果你拿这两部手机放在一起对比,会发现这个图片的物理尺寸“差不多”,这就是使用dp作为单位的效果,见下图。

dip:

与dp完全相同,只是名字不同而已。在早期的Android版本里多使用dip,后来为了与sp统一就建议使用dp这个名字了。

sp:

与缩放无关的抽象像素(Scale-independent Pixel)。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。
还有几个比较少用到的尺寸单位:

mm:

即毫米;

in:

即英寸,1英寸=2.54厘米(约);

pt:

1pt=1/72英寸=0.035厘米;
最佳实践,文字的尺寸一律用sp单位,非文字的尺寸一律使用dp单位。例如textSize=”16sp”、layout_width=”60dp”;偶尔需要使用px单位,例如需要在屏幕上画一条细的分隔线时:



参考资料:
Difference of px, dp, dip and sp in Android? 
Supporting Multiple Screens

DisplayMetrics

Categories
木有技术

Android SimpleAdapter显示ListView、GridView

Android SimpleAdapter显示ListView、GridView

Categories
木有技术

How to change the android actionbar title and icon | 如何设置ActionBar的图标和文字

Source : http://stackoverflow.com/questions/14483393/how-do-i-change-the-android-actionbar-title-and-icon
This is very simple to accomplish
If you want to change it in code call

setTitle("My new title");
getActionBar().setIcon(R.drawable.my_icon);

In XML:



To enable the back button in your app use

getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);

The code should all be placed in your onCreate so that the label/icon changing is transparent to the user, but in reality it can be called anywhere during the activity’s lifecycle

Categories
不学无术 木有技术

【Android】xml文件里面出现unbound prefix的问题

via http://moto0421.iteye.com/blog/1395469
相信有很多菜鸟在编写xml文件的时候,都会遇到这样的问题,明明是从网上down来的代码,copy上去了却报错,而且提示unbound prefix,问题往往还很诡异,换了一次代码有可能就好了,自己也不知道哪儿出了错。
 
这个问题似乎跟xmlns:android=”http://schemas.android.com/apk/res/android”这段代码有关,xmlns定义了一个命名空间,具体的意思大家可以去网上看一看,写网页的时候也经常用,本段代码的意思就是引用了xml可以使用的空间android,这样android类别下的所有属性我们都可以在这个布局里面加以使用了,unbound prefix意思是前缀未被约定,比如我们写android:text=”Iloveu”,就引用了android空间中的text属性
 
所以,如果再遇到unbound prefix的问题,请查看命名空间有没有定义完全,或者是某部分隶属的布局中所使用的命名空间是否被定义了。一般来说,在xml的最开始就应该把所有要用到的xmlns声明好

Categories
不学无术 木有技术

利用convertView优化ListView性能

里面讲到了异构(Heterogeneous)的convertView怎么处理的问题
http://blog.csdn.net/cc_lq/article/details/7090142

Categories
木有技术 爪机爪机

android获得timestamp时间戳

android里如何获得timestamp时间类型呢 在stackoverflow上的5268495

String myDate = new String("your date");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(myDate);
date.getTime(); //fetch the time as milliseconds from Jan 1, 1970
Calendar.getInstance.getTimeInMillis()
Categories
木有技术 爪机爪机

Easy way to make the ListPreference multiple choice in Android?

Easy way to make the ListPreference multiple choice in Android?

Categories
木有技术 爪机爪机

android2.3如何使用SharedPreferences存储字符串集合类型的元素 | NoSuchMethodError

android2.3如何使用SharedPreferences存储字符串集合类型的元素