android 基础知识 十一

本文介绍了一种在Android设备上获取设备串号(SERIAL)的方法,并提供了一个使用AndroidHttpClient上传文件的示例代码,包括设置HTTP版本、构建multipart实体及解析JSON响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取Android SERIAL信息

  1. public static String getDeviceSerial() {
  2.                 String serial = "unknown";
  3.             try {
  4.                         Class clazz = Class.forName("android.os.Build");
  5.                         Class paraTypes = Class.forName("java.lang.String");
  6.                         Method method = clazz.getDeclaredMethod("getString", paraTypes);
  7.                         if (!method.isAccessible()) {
  8.                                 method.setAccessible(true);
  9.                         }
  10.                         serial = (String)method.invoke(new Build(), "ro.serialno");
  11.                 } catch (ClassNotFoundException e) {
  12.                         e.printStackTrace();
  13.                 } catch (NoSuchMethodException e) {
  14.                         e.printStackTrace();
  15.                 } catch (InvocationTargetException e) {
  16.                         e.printStackTrace();
  17.                 } catch (IllegalAccessException e) {
  18.                         e.printStackTrace();
  19.                 }
  20.             return serial;
  21. }
复制代码
-------------------------------------------------------------------------------------------------------
Android软件锁屏效果 点击解锁效果
?
代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
<?xml version= "1.0" encoding= "utf-8" ?>
<LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android"
    android:layout_width= "fill_parent"
    android:layout_height= "fill_parent"
    android:background= "@drawable/images_beijing"
    android:orientation= "vertical" >
 
    <TextView
         android:id= "@+id/imageview_inv"
         android:layout_width= "fill_parent"
         android:layout_height= "fill_parent"
         android:background= "#80000000"
         android:gravity= "center"
         android:text= "点击解锁"
         android:textColor= "#ffffff"
         android:textStyle= "bold"
         
          />
 
</LinearLayout>


---------------------------------------------------------------------------
Android HttpClient上传文件
Android HttpClient上传文件  的一个封装方法。里面有一小段代码是处理获取JSON格式数据
System.out.println("executing request " + httppost.getRequestLine());  返回协议和返回码
    正确的话是 http 1.1 200
System.out.println(EntityUtils.toString(resEntity,"utf-8"));
    获取处理后的页面内容

?
代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public String post(String pathToOurFile,String urlServer) throws ClientProtocolException, IOException, JSONException {
    HttpClient httpclient = new DefaultHttpClient();
    //设置通信协议版本
    httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
    
    //File path= Environment.getExternalStorageDirectory(); //取得SD卡的路径
 
//String pathToOurFile = path.getPath()+File.separator+"ak.txt"; //uploadfile
//String urlServer = "http://192.168.1.88/test/upload.php";
 
    HttpPost httppost = new HttpPost(urlServer);
    File file = new File(pathToOurFile);
 
    MultipartEntity mpEntity = new MultipartEntity(); //文件传输
    ContentBody cbFile = new FileBody(file);
    mpEntity.addPart( "userfile" , cbFile); // 接受的文件名
    httppost.setEntity(mpEntity);
    System.out.println( "executing request " + httppost.getRequestLine());
    
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity resEntity = response.getEntity();
 
    System.out.println(response.getStatusLine()); //通信Ok
    String json= "" ;
    String path= "" ;
    if (resEntity != null ) {
      //System.out.println(EntityUtils.toString(resEntity,"utf-8"));
      json=EntityUtils.toString(resEntity, "utf-8" );
      JSONObject p= null ;
      try {
             p= new JSONObject(json);
             path=(String) p.get( "path" );
      } catch (Exception e){
             e.printStackTrace();
      }
    }
    if (resEntity != null ) {
      resEntity.consumeContent();
    }
 
    httpclient.getConnectionManager().shutdown();
    return path;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值