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);

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);

【转载】[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

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

【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声明好

android获得timestamp时间戳

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