我有罪啊,我用了一下午时间,终于无师自学,用C#开发了俺的第一个Android浏览器APP,我对不起java社区啊


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

Android 浏览器APP:我有罪啊,我用了一下午时间,终于无师自学,用C#开发了俺的第一个Android 浏览器APP,我对不起java 社区啊_第1张图片

Android 浏览器APP:我有罪啊,我用了一下午时间,终于无师自学,用C#开发了俺的第一个Android 浏览器APP,我对不起java 社区啊_第2张图片

有Android手机的可以装一下运行测试看看,谢谢啊!

本人是新手有任何建议、意见、需要代码的可与我本人联系:QQ交流群:72133568,27236303,74965947,16592133,204725117,204724518


Activity1.cs代码如下:

C# code ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 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(Bundlebundle) { base .OnCreate(bundle); SetContentView(Resource.Layout.Main); Buttonbutton=FindViewById<Button>(Resource.Id.myButton); WebViewwebView=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" ); }; } } }


界面设计是可视化的,所见即所得的,比netneans和eclipse强多了,还有很多各种各样的控件!

Android 浏览器APP:我有罪啊,我用了一下午时间,终于无师自学,用C#开发了俺的第一个Android 浏览器APP,我对不起java 社区啊_第3张图片

netneans和eclipse界面都要自己写axml文件,这个能拖拉好之后自动生成:

layout/Main.axml

C# code ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <?xmlversion= "1.0" encoding= "utf-8" ?> <LinearLayoutxmlns: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.comQQ: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类代码:

C# code ?
1 2 3 4 5 6 7 8 9 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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 //------------------------------------------------------------------------------ //<auto-generated> //Thiscodewasgeneratedbyatool. //RuntimeVersion:4.0.30319.239 // //Changestothisfilemaycauseincorrectbehaviorandwillbelostif //thecodeisregenerated. //</auto-generated> //------------------------------------------------------------------------------ namespace hz.android.test { public partial class Resource { public partial class Attribute { private Attribute() { } } public partial class Drawable { //aaptresourcevalue:0x7f020000 public const int Icon=2130837504; //aaptresourcevalue:0x7f020001 public const int lbs=2130837505; private Drawable() { } } public partial class Id { //aaptresourcevalue:0x7f050004 public const int checkedTextView1=2131034116; //aaptresourcevalue:0x7f050003 public const int datePicker1=2131034115; //aaptresourcevalue:0x7f050002 public const int editText1=2131034114; //aaptresourcevalue:0x7f050000 public const int myButton=2131034112; //aaptresourcevalue:0x7f050001 public const int webView1=2131034113; private Id() { } } public partial class Layout { //aaptresourcevalue:0x7f030000 public const int Main=2130903040; private Layout() { } } public partial class String { //aaptresourcevalue:0x7f040001 public const int app_name=2130968577; //aaptresourcevalue: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-keystorexxx-release-key.keystore-aliasxxxkeystore-keyalgRSA-keysize2048-validity20000
您的名字与姓氏是什么?
[Unknown]:huangzhi
您的组织单位名称是什么?
[Unknown]:bwsyqco.ltd
您的组织名称是什么?
[Unknown]:bwsyqjavadevelopgroup
您所在的城市或区域名称是什么?
[Unknown]:hangzhou
您所在的省/市/自治区名称是什么?
[Unknown]:hangzhou
该单位的双字母国家/地区代码是什么?
[Unknown]:86
CN=huangzhi,OU=bwsyqco.ltd,O=bwsyqjavadevelopgroup,L=hangzhou,ST=hangz
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-aliasxxxkeystore-keystorexxx-release-key.keystore
通过这个keytools的命令去取
然后到http://www.google.com/glm/mmapgoogle地图网站获取一个根据MD5生成的地图key
才能在你发布的程序中使用google地图API

当然了,还有很多,比如如何注册,使用admob如何在你的应用中增加google移动广告赚钱,等等,有兴趣的可以加入我们的QQ群一起探讨交流!

本人也是新手有任何建议、意见、需要代码的可与我本人联系:QQ交流群:72133568,27236303,74965947,16592133,204725117,204724518

更多相关文章

  1. android代码示例讲解--专题视频课程
  2. 使用Android Studio手把手教你将应用打包+代码混淆
  3. Flutter与Android原生代码交互
  4. Android开发之核心特性SearchView的开发使用(源代码分享)
  5. android webview处理h5打开本地文件浏览器的功能
  6. Android studio怎么使用代码检查工具Analyze?
  7. 跟Google学写代码:Android运行时权限处理

随机推荐

  1. android的ant脚本自动生成模板
  2. Android设备重启(reboot)---Android(安卓
  3. 【Android】App界面与顶部状态栏重叠遮盖
  4. Android最好看的圆形进度条ProgressBar
  5. Android(安卓)Bundle类
  6. ADT Bundle最后一次更新的版本下载地址
  7. Andriod开发之浏览器开发(WebView)
  8. 屏幕方向android:screenOrientation
  9. selector
  10. android 刚进入activity 时关闭输入法