国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android編程之ip2id程序實例

2020-04-11 11:37:31
字體:
來源:轉載
供稿:網友

本文實例講述了android編程之ip2id程序。分享給大家供大家參考。具體分析如下:

一、說明:

公司一個項目中需要給一系列網絡設備分配id號,id是根據ip算出來的,算法如下:

id共3個字節,高字節:從機號:1-31;后兩個字節為ip號的最后兩個字節.如ip為192.168.0.240的一臺設備從機號為31.則id號為31,00,240換算成十進制為2031856.

二、源碼:

package com.id2ip; import android.app.Activity; import android.os.Bundle; import android.widget.*; import android.view.*; public class id2ip extends Activity {  /** Called when the activity is first created. */  private TextView text;  private Button button;  @Override  public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.main);  //獲得文本框ID  text = (TextView)findViewById(R.id.editText1);  //獲得按鈕ID  button = (Button)findViewById(R.id.button1);  //重載按鍵監聽方法  button.setOnClickListener(new Button.OnClickListener()  {   @Override   public void onClick(View v)   {   //獲得輸入框文本   CharSequence str = text.getText();   do   {    //判斷輸入是否有效    //如果輸入位數不為8位,則無效    if (str.length() != 8)    {    text.setText("輸入位數必須為8位");    break;    }    //輸入的字符不為數字,則無效    int i = 0;    for (i = 0;i < 8;i++)    {    if ((str.charAt(i) < '0') || (str.charAt(i) > '9'))    {     break;    }    }    if (i < 8)    {    text.setText("輸入字符必須為數字");    break;    }    String str_temp = str.toString();    //轉換為數字    long num = Long.parseLong(str_temp);    //ip2id    short slave_num = (short)(num / 1000000);    num = num % 1000000;    short ip1 = (short)(num / 1000);    num = num % 1000;    short ip0 = (short)num;    long num_temp = ip0;    num_temp |= ip1 << 8;    num_temp |= slave_num << 16;    str_temp = Long.toString(num_temp);    str = str_temp;    text.setText(str);   }while (false);   }  });  } }

三、注意:

程序中需要注意的地方有3處:

① 字符串轉數字,可以用方法Long.parseLong();

② 在android中常用的捕捉空間字符串的類是CharSequence,而java中常用的字符串類為String,則需要轉換.

1.CharSequence轉String

CharSequence str;String str_temp = str.toString();

2.String轉CharSequence這個直接等于就可以了:

str = str_temp;

③ java中沒有無符號即unsigned類型,所有類型都是帶符號的

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柘城县| 揭东县| 治县。| 忻城县| 江华| 四子王旗| 武安市| 高邮市| 铜梁县| 调兵山市| 陇西县| 龙南县| 泽普县| 原平市| 永泰县| 民县| 禹城市| 郓城县| 五大连池市| 榆社县| 乌拉特中旗| 侯马市| 化州市| 扎赉特旗| 西乌| 商河县| 静宁县| 南康市| 靖安县| 云安县| 道真| 绍兴市| 云和县| 兴和县| 沛县| 安多县| 莱芜市| 东兰县| 大同市| 宜宾县| 扎赉特旗|