❶ android 怎么发送post请求并接收二进制数据
可使用android自带的httpclient框架实现向服务器发起get或post请求,以下为完整的示例代码:
1. GET 方式传递参数
//先将参数放入List,再对参数进行URL编码
List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "数据")); //增加参数1
params.add(new BasicNameValuePair("param2", "value2"));//增加参数2
String param = URLEncodedUtils.format(params, "UTF-8");//对参数编码
String baseUrl = "服务器接口完整URL";
HttpGet getMethod = new HttpGet(baseUrl + "?" + param);//将URL与参数拼接
HttpClient httpClient = new DefaultHttpClient();
try {
HttpResponse response = httpClient.execute(getMethod); //发起GET请求
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//获取服务器响应内容
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
2. POST方式 方式传递参数
//和GET方式一样,先将参数放入List
params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "Post方法"));//增加参数1
params.add(new BasicNameValuePair("param2", "第二个参数"));//增加参数2
try {
HttpPost postMethod = new HttpPost(baseUrl);//创建一个post请求
postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //将参数填入POST Entity中
HttpResponse response = httpClient.execute(postMethod); //执行POST方法
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //获取响应内容
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
❷ android 怎么不在文件中写入ff fe
你到底用二进制写还是用ASCII码写文件,你打开时记事本使用的是ASCII码。用二进制方式创建文件,文件开头需要写入0xff、0xfe两个字节,然后再写Unicode字符串(也是按二进制数据写入)。fwprintf需要一个FILE句柄,关键是看你创建FILE句柄时是否让这个文件以UNICODE形式存储数据了。类似:FILE*fileHandle;//.if((fileHandle=_wfopen(L"_wfopen_test.xml",L"wt+,ccs=UNICODE"))==NULL)//C4996//Note:_wfopenisdeprecated;considerusing_wfopen_sinstead{..}下面的示例来自MSDN://crt__wfopen.c//compilewith:/W3//Thisprogramcreatesafile(oroverwritesoneif//itexists),.////andthenclosesthefile.#include#include#include#include#defineBUFFER_SIZE50intmain(intargc,char**argv){wchar_tstr[BUFFER_SIZE];size_tstrSize;FILE*fileHandle;//.if((fileHandle=_wfopen(L"_wfopen_test.xml",L"wt+,ccs=UNICODE"))==NULL)//C4996//Note:_wfopenisdeprecated;considerusing_wfopen_sinstead{wprintf(L"_wfopenfailed!\n");return(0);}//Writeastringintothefile.wcscpy_s(str,sizeof(str)/sizeof(wchar_t),L"\n");strSize=wcslen(str);if(fwrite(str,sizeof(wchar_t),strSize,fileHandle)!=strSize){wprintf(L"fwritefailed!\n");}//Writeastringintothefile.wcscpy_s(str,sizeof(str)/sizeof(wchar_t),L"");strSize=wcslen(str);if(fwrite(str,sizeof(wchar_t),strSize,fileHandle)!=strSize){wprintf(L"fwritefailed!\n");}//Closethefile.if(fclose(fileHandle)){wprintf(L"fclosefailed!\n");}return0;}这个
❸ 请问android中如何判断两个音频是相似的 将音频转换成二进制字符串然后各个字节对比能实现吗
能,但这不是相似了是完完全全一样
❹ 如何编译android 可执行的二进制文件
Android由于其代码是放在dalvik虚拟机上的托管代码,所以能够很容易的将其反编译为我们可以识别的代码。 之前我写过一篇文章反编译Android的apk包到smali文件 然后再重新编译签名后打包实现篡改apk的功能。 最近又有一种新的方法来实现直接从Android apk包里的classes.dex文件,把dex码反编译到java的.class二进制码,然后从.class二进制码反编译到java源码想必就不用我来多说了吧。 首先我们需要的工具是dex2jar和jd-gui 其中第一个工具dex2jar是用来把classex.dex文件也就是dex二进制码转化为java的标准.class二进制码,然后jd-gui是把标准的.class二进制码再反编译为java源码。 首先从apk包里面提取出classes.dex 放到dex2jar目录下 然后在命令行下执行 dex2jar.bat classes.dex 这时执行成功后会生成一个classes.dex.dex2jar.jar文件 这个文件再用jd-gui打开,如下图 几乎跟我自己写的这个程序的源码一样 提供这个反编译方法主要用于大家学习与研究,有问题可以与我邮件讨论。 希望大家不要用这个方法从事恶意的活动,毕竟,别人辛辛苦苦写程序也不容易,用这个方法可以大致的学习到别人写的程序的逻辑,架构,希望对大家有所帮助。 Android 逆向apk程序的心得 本文主要介绍如何逆向一个Android的APK应用程序,本文提供的方法仅供研究学习之用。 本文需要用到的工具有 jdk 这个用于搭建java运行环境 AXMLPrinter2.jar 这个用于逆向.xml文件 baksmali.jar 这个用于逆向classex.dex文件 由于Android的.apk文件实际上就是一个zip文件 可以直接用winrar打开
❺ 在android中实现在Edittext中输入两个字节的二进制,将两个字节转换十进制数据,在两个textview中显示
首先需要说明的是,在Android中用于输入的控件是EditText;
对EditText使用getText()方法,返回一个Editable对象,对这个对象使用toString()方法,获得一个String对象;
使用Integer.parseInt(String str);方法可以将String对象转换成Int型数据;
最后对TextView对象使用setText()方法,需要注意的是这个方法接受String对象,或者int型资源ID;
private EditText etvalue2;
private EditText etvalue1;
private TextView textView;
private int value1;
private int value2;
private int result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=(TextView)findViewById(R.id.textView);
etvalue1 = (EditText) findViewById(R.id.editText);
etvalue2=(EditText)findViewById(R.id.editText2);
findViewById(R.id.btn_run).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
value1 =Integer.parseInt(etvalue1.getText().toString()) ;
value2 = Integer.parseInt(etvalue2.getText().toString());
result =value1+value2;
textView.setText(""+result+"");
}
});
}
分享
❻ android编程:如何将十进制数转换成二进制数。同时能获取任意一位是1还是0.
String s=Integer.toBinaryString(363); //二进制串
String a=s.charAt(bs.length()-index); //取第index位
❼ Android后台返回二进制图片字符串怎样转成图片显示在UI界面
你确定这个是图片的话,新建文件,保存,保存为相应的图片格式(最好加上扩展名,当然不加也行).
imageview读取
或者直接内存建立位图,写数据,显示.
你应该弄个16进制的看看,你这玩意啥也看不出来.
❽ android 怎样将json数据转换成二进制数据
json数据格式在网络中传输需要的数据比二进制庞大太多,可以省去key,外加将数字不需要编码成字符串,直接二进制编码就OK。
❾ Android开发怎么用SQLite存储二进制
BLOB没用过不太清楚
不过你可以试试把byte转成字符串存数据库。。