IOS编程:给iOS开辟者的Android开辟倡议仓酷云
一个人负责协调他们的工作并且如果有新增加的衣服或者要移除之前的衣服通知他俩(NSManagedObjectContext)NSManagedObject自己处置iOS使用开辟已5年不足,直到如今还老是决心躲避Andriod使用的开辟。可是不论你信不信,安卓开辟仍是很成心思的,从iOS转向Android使用开辟的跨度并没有你设想的那末年夜。如今我把在开辟7分钟练习这款Android使用中所学到的一些工具与人人分享,但愿能对你们有所匡助。必要指出的是,我稍后所对照的每一个项目并非完整婚配的,而且这篇文章并非一个完全的Android使用开辟概述,可是它包容了我从开辟这个复杂使用所学到的点点滴滴。
<br>
开辟情况
开辟情况我选择了AndroidStudio,我赌博当正式版公布今后,它将成为Android使用的尺度开辟情况。固然有良多关于AndroidStudio不不乱的行动,可是我只碰到了一次程序溃散,团体以为AndroidStudio不乱性尚可,大概是已顺应了Xcode的习气性程序溃散吧。
Java
说说你对Java懂得几,说白了它只是别的一门编程言语。像其他言语一样,帮忙你使用盘算机完成你的设法,假如你是个履历丰厚的程序员,你将会把更多的精神投进到使用的架构,而不是Java言语自己。谢天谢地,我们其实不必要进修J2EE。
摹拟器
在利用Android摹拟器之前,我习气性的以为iOS的摹拟器糟透了,如今看来iOS的摹拟器仍是很给力的。能不必Android摹拟器就只管别用,间接上真机调试;要否则你就筹办好把年夜把工夫花在无谓的守候上吧。
Storyboard/NIBS
关于storybaord的利用,在我之前iOS开辟的文章中已有所论述,在是不是利用Storyboard这个成绩上,以后还收到了持分歧意见的读者说话激烈的来信,明天对此我们不予会商。
Android利用xml来编写结构。分歧结构相互是完整自力的。AndroidStudio同时也供应了一个十分好的WYS|WYG编纂器:
<br>
你也能够深切原始xml文件举行编纂(我本人常常这么做)。
<br>
各类结构容器能够被用来当作主动结构的替换计划,好比RelativeLayout,Framelayout等等。选中结构后,你能够对结构的宽度,高度,添补,留白,比重等属性举行像素(dp设备像素)级的设定,大概间接将它们设置为matchparent,wrapcontent。
Wrap-content关于文原本说是个很好的选择,它会主动依据文原本决意视图的尺寸。
固然我还没有习气利用fragments,但仿佛的确是一个不错的自界说界面的复用的体例。
UIViewController
Android中同等于iOSUiViewController的是一个叫Activity的组件。你所看到的每一个视图和窗口都是一个Activity。在Activity中,你做的最多的就是把数据和UI绑定,处置各类事务等等。
TransitioningControllers/Views
在iOS中我们利用segues、pushViewController、presentController举行分歧视图间的切换。在Android中,我们则用一个叫Intent的组件。
你能够轻松地利用intent往创立一个新的Activity,乃至是传送一些数据给新创立的Activity。
publicvoidonItemClick(...){
Intenti=newIntent(getBaseContext(),MyActivity.class);
i.putExtra("row",position);
startActivity(i);
}
在新创立的Activity(如上所示的MyActivty)中,你能够以如许体例提取之前Activity传送的数据。
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mine);
Bundleextras=getIntent().getExtras();
if(extras!=null){
introw=extras.getInt("row");
....
}
...
}
你也能够利用Intent往触发一些工具,比方:分享页面。
1
2
3
4
5
IntentsendIntent=newIntent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT,"ShareThis");
sendIntent.setType("text/plain");
startActivity(sendIntent);
IBOutlet
假如你像我一样最少有一半工夫会健忘毗连IBOutlets,Android将是你的福音。
Android中每个视图/组件都有一个独一的ID,比方:
@+id/myButton
Android将会为这些ID主动天生一个叫做R的类(想懂得更多R点击这里),你能够经由过程以下的体例来操纵这个Button对象。
1
Buttonbutton=(Button)findViewById(R.id.myButton);
Tag
为视图设置一个tag来查找信息是iOS开辟者们经常使用的一个小技能,比方:数组的偏移。而在Android你能够讲这个对象设置成tag,相称的有效。
1
row.setTag(data);
UITableViewController/UITableViewDataSource/UITableViewCell
在Android中与UITableView绝对应的是ListView。
与UITableViewDataSource大致上绝对应的是ArrayAdapter:
1
2
MyAdapteradapter=newMyAdapter(this,R.layout.listview_item_row);
listView.setAdapter(adapter);
如上的例子中,listviewitemrow是结构中的一行,大致上相称于一个UITableViewCell。
Adapter经由过程getView来创立或复用分歧的列。
你还能够设置表头:
1
2
Viewheader=getLayoutInflater().inflate(R.layout.listview_header_row,null);
listView.addHeaderView(header);
网上有年夜把相干的好教程,比方这个。
Images/Resources
自从AssetCatalogues在iOS呈现后,关于图片的处置就轻松了良多,并且只必要对付retina和非retina屏幕便可(除非你另有专门为iPad利用的图片)。
为了顺应分歧Android设备的分辩率,你必要供应四套分歧尺寸的图片。
<br>
它们分离是:mdpi(中等质量)、hdpi(高质量)、xhdpi(超高质量),xxhdpi(宇宙无敌高质量)。团体很等候xxhdpi画质的呈现。
当你在AndroidStudio里创立工程的时分,它会为你所供应的使用图标主动天生四种分歧尺寸的图标。这可把计划师们吓的心肝儿发颤了吧,别忧虑,稍后它们仍是能够被完善的图标所交换的。
以是,基础的理念就是对应分歧的屏幕分辩率创立分歧的图片,并用与之绝对应的屏幕分辩率的名字定名后,放进准确的文件夹中,以后的事变就交给Android去向理吧。
自界说字体
自界说字体在Android中也相称简单完成:拷贝字体到main/assets文件夹,以后你能够像如许挪用他们:
1
2
Typefacefont=Typeface.createFromAsset(getAssets(),"Lato-Regular.ttf");
textView.setTypeface(font);
这类办法并非在一切设备上都可行,最好仍是加上try/catch办法来处置非常,便是在我的两台Android设备上历来没有呈现过非常。
NSLog
看来Log仿佛是Android给我们供应的办理计划,你指定log的范例:debug,verbose等等。固然,Java最基础的打印语句System.out.println(..)也是行得通的。
向下兼容性
我们常传闻Android碎片化。关于这个成绩在Android中的办理技能,跟我们在利用iOS新特征又要分身老版本时所接纳的技能基础上差未几。你大概必要更频仍,更久长的利用这些技能。
Android中有一个十分有效的常量供你查询以后的Android的API版本号。
1
2
3
if(Build.VERSION.SDK_INT>=11.0){
...
}
你能够如许来屏障告诫:
<p>1
2
3
4
<p>@SuppressLint 才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。 看《iPhone 4与iPad开发基础教程》,跟着一步步来 培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦, 这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。 iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。 down下code4app网站的每个分类的代码挨着看 我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。 近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来, 才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。 中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者, 我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。 培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦, 自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉 down下code4app网站的每个分类的代码挨着看 在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。 才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。 AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。 看《iPhone 4与iPad开发基础教程》,跟着一步步来 特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地
页:
[1]
2