我有罪啊,我用了一下午時間,終於無師自學,用C#開發了俺的第一個Android 瀏覽器APP,我對不起java 社區啊(附開發過程講解)

來源:互聯網
上載者:User

我有罪啊,我用了一下午時間,終於無師自學,用C#開發了俺的第一個Android 瀏覽器APP,我對不起java 社區啊(附開發過程講解)

 

開發流程:

安裝 VS2010、安裝 Android SDK、配置 AVD(android) 模擬器

 

調試的時候開啟 ADV(android 模擬器) 在裡面你自己添加一個機器的型號,設定好解析度,記憶體大小,SD卡,啟動之後,就可以調試了!

調試產生的程式碼是不能發布到真實的機器上的,因為 android 實際程式在真實機器中啟動並執行時候會進行驗證,這個在 netbeans 或 eclipse 裡面叫 key.store 

所以發布的時候,要用 netbeans 或 eclipse 裡面一個叫 keytools的工具,產生一個 key.store的檔案
使用格式如下:
D:\Progra~1\Java\jdk1.7.0_11\jre\bin\keytool -genkey -v -keystore xxx-release-key.keystore -alias xxxkeystore -keyalg RSA -keysize 2048 -validity 20000
您的名字與姓氏是什麼?
  [Unknown]:  huangzhi
您的組織單位名稱是什麼?
  [Unknown]:  bwsyq co.ltd
您的組織名稱是什麼?
  [Unknown]:  bwsyq java develop group
您所在的城市或地區名稱是什麼?
  [Unknown]:  hang zhou
您所在的省/市/自治區名稱是什麼?
  [Unknown]:  hang zhou
該單位的雙字母國家/區域碼是什麼?
  [Unknown]:  86
CN=huangzhi, OU=bwsyq co.ltd, O=bwsyq java develop group, L=hang zhou, ST=hang z
hou, C=86是否正確?

這樣之後或要求你輸入密碼,這時候就會產生一個  xxx-release-key.keystore 的驗證密碼檔案 別名叫: xxxkeystore

不論是 vs2010 還是 netbeans 還是 eclipse 在release的時候都會要求你輸入密碼,密碼驗證通過之後就會產生真正的發布安裝檔案 xxx.APK ,這個就是可以在真實機器上安裝啟動並執行 APP了!

例如:http://pan.baidu.com/share/link?shareid=383627&uk=201606611

這時後還不要高興,這樣編譯的程式還只能運行一般的 APP ,如果要使用google 地圖API ,你還要從 key.store中取出 MD5 密碼
keytool -list -v -alias xxxkeystore -keystore xxx-release-key.keystore
通過這個 keytools的命令去取
然後到 http://www.google.com/glm/mmap google 地圖網站擷取一個根據 MD5產生的 地圖 key
才能在你發布的程式中使用 google 地圖 API

當然了,還有很多,比如如何註冊,使用 admob 如何在你的應用中增加google 移動廣告賺錢,等等,有興趣的可以加入我們的QQ群一起探討交流!

開始開發:建立 android application

產生代碼如下:Activity1.cs 代碼如下:

using System; using Android.App;using Android.Content;using Android.Runtime;using Android.Views;using Android.Widget;using Android.OS;using Android.Webkit; namespace hz.android.test{    [Activity (Label = "hz.android.test", MainLauncher = true)]    public class Activity1 : Activity    {        int count = 1;         protected override void OnCreate (Bundle bundle)        {            base.OnCreate (bundle);              SetContentView (Resource.Layout.Main);            Button button = FindViewById<Button> (Resource.Id.myButton);            WebView webView = FindViewById<WebView> (Resource.Id.webView1);            button.Click += delegate {                button.Text = string.Format ("{0} clicks!", count++);                webView.LoadUrl("http://blog.csdn.net/tengyunjiawu_com/article/details/8565766");            };        }    }}

 

介面設計是可視化的,所見即所得 (WYSIWYG)的,比 netneans 和 eclipse 強多了,還有很多各種各樣的控制項!

netneans 和 eclipse  介面都要自己寫 axml檔案,這個能拖拉好之後自動產生:

layout/Main.axml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent">    <Button        android:id="@+id/myButton"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/hello" />    <WebView        android:layout_width="fill_parent"        android:layout_height="220.7dp"        android:id="@+id/webView1"        android:layout_marginBottom="50.0dp" />    <EditText        android:inputType="textEmailAddress"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:id="@+id/editText1"        android:text="bwsyq@bwsyq.com QQ:99923309"        android:linksClickable="true" />    <DatePicker        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:id="@+id/datePicker1" />    <CheckedTextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:id="@+id/checkedTextView1" /></LinearLayout>

 

Resource.designer.cs 這個相當於 netbeans 或 java 開發 Android時自動產生的R.java 類代碼:

//------------------------------------------------------------------------------// <auto-generated>//     This code was generated by a tool.//     Runtime Version:4.0.30319.239////     Changes to this file may cause incorrect behavior and will be lost if//     the code is regenerated.// </auto-generated>//------------------------------------------------------------------------------ namespace hz.android.test{              public partial class Resource    {                 public partial class Attribute        {                         private Attribute()            {            }        }                 public partial class Drawable        {                         // aapt resource value: 0x7f020000            public const int Icon = 2130837504;                         // aapt resource value: 0x7f020001            public const int lbs = 2130837505;                         private Drawable()            {            }        }                 public partial class Id        {                         // aapt resource value: 0x7f050004            public const int checkedTextView1 = 2131034116;                         // aapt resource value: 0x7f050003            public const int datePicker1 = 2131034115;                         // aapt resource value: 0x7f050002            public const int editText1 = 2131034114;                         // aapt resource value: 0x7f050000            public const int myButton = 2131034112;                         // aapt resource value: 0x7f050001            public const int webView1 = 2131034113;                         private Id()            {            }        }                 public partial class Layout        {                         // aapt resource value: 0x7f030000            public const int Main = 2130903040;                         private Layout()            {            }        }                 public partial class String        {                         // aapt resource value: 0x7f040001            public const int app_name = 2130968577;                         // aapt resource value: 0x7f040000            public const int hello = 2130968576;                         private String()            {            }        }    }}

 

調試的時候開啟 ADV(android 模擬器) 在裡面你自己添加一個機器的型號,設定好解析度,記憶體大小,SD卡,啟動之後,就可以調試了!

調試產生的程式碼是不能發布到真實的機器上的,因為 android 實際程式在真實機器中啟動並執行時候會進行驗證,這個在 netbeans 或 eclipse 裡面叫 key.store 

所以發布的時候,要用 netbeans 或 eclipse 裡面一個叫 keytools的工具,產生一個 key.store的檔案
使用格式如下:
D:\Progra~1\Java\jdk1.7.0_11\jre\bin\keytool -genkey -v -keystore xxx-release-key.keystore -alias xxxkeystore -keyalg RSA -keysize 2048 -validity 20000
您的名字與姓氏是什麼?
  [Unknown]:  huangzhi
您的組織單位名稱是什麼?
  [Unknown]:  bwsyq co.ltd
您的組織名稱是什麼?
  [Unknown]:  bwsyq java develop group
您所在的城市或地區名稱是什麼?
  [Unknown]:  hang zhou
您所在的省/市/自治區名稱是什麼?
  [Unknown]:  hang zhou
該單位的雙字母國家/區域碼是什麼?
  [Unknown]:  86
CN=huangzhi, OU=bwsyq co.ltd, O=bwsyq java develop group, L=hang zhou, ST=hang z
hou, C=86是否正確?

這樣之後或要求你輸入密碼,這時候就會產生一個  xxx-release-key.keystore 的驗證密碼檔案 別名叫: xxxkeystore

不論是 vs2010 還是 netbeans 還是 eclipse 在release的時候都會要求你輸入密碼,密碼驗證通過之後就會產生真正的發布安裝檔案 xxx.APK ,這個就是可以在真實機器上安裝啟動並執行 APP了!

例如:http://pan.baidu.com/share/link?shareid=383627&uk=201606611

真機(在三星、摩托羅拉、HTC 上均測試通過)效果如下:

上面按鈕點擊後效果:

這時後還不要高興,這樣編譯的程式還只能運行一般的 APP ,如果要使用google 地圖API ,你還要從 key.store中取出 MD5 密碼
keytool -list -v -alias xxxkeystore -keystore xxx-release-key.keystore
通過這個 keytools的命令去取
然後到 http://www.google.com/glm/mmap google 地圖網站擷取一個根據 MD5產生的 地圖 key
才能在你發布的程式中使用 google 地圖 API

當然了,還有很多,比如如何註冊,使用 admob 如何在你的應用中增加google 移動廣告賺錢,等等,有興趣的可以加入我們的QQ群一起探討交流!

:http://pan.baidu.com/share/link?shareid=383627&uk=201606611

本人也是新手有任何建議、意見、需要代碼的可與我本人聯絡 :QQ交流群:72133568, 27236303,74965947, 16592133, 204725117, 204724518 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.