设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

给iOS开发者的Android开发建议

2014-6-3 11:49| 发布者: joejoe0332| 查看: 3691| 评论: 0|原作者: 北欧的杂木林|来自: 伯乐在线

摘要: 本人从事iOS应用开发已经5年有余,直到现在还总是刻意回避Andriod应用的开发。但是不管你信不信,安卓开发还是很有意思的,从iOS转向Android应用开发的跨度并没有你想象的那么大。 ...


  Transitioning Controllers / Views


  在iOS中我们使用segues、 pushViewController、 presentController 进行不同视图间的切换。在Android中,我们则用一个叫Intent的组件。


  你可以轻松地使用intent去创建一个新的Activity,甚至是传递一些数据给新创建的Activity。


public void onItemClick(...) {
       Intent i = new Intent(getBaseContext(), MyActivity.class);
       i.putExtra("row", position);
       startActivity(i);
}


  在新创建的Activity(如上所示的MyActivty)中,你可以以这样方式提取之前Activity传递的数据。


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_mine);
 
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        int row = extras.getInt("row");
        ....
     }
     ...
 }


  你也可以使用Intent去触发一些东西,例如:分享页面。


1 Intent sendIntent = new Intent();
2 sendIntent.setAction(Intent.ACTION_SEND);
3 sendIntent.putExtra(Intent.EXTRA_TEXT, "Share This");
4 sendIntent.setType("text/plain");
5 startActivity(sendIntent);


  IBOutlet


  如果你像我一样至少有一半时间会忘记连接IBOutlets,Android将是你的福音。


  Android中每一个视图/组件都有一个唯一的ID,例如:


@+id/myButton


  Android将会为这些ID自动生成一个叫做R的类(想了解更多R点击这里),你可以通过如下的方式来操作这个Button 对象。


1Button button = (Button)findViewById(R.id.myButton);


  Tag


  为视图设置一个tag来查找信息是iOS开发者们常用的一个小技巧,例如:数组的偏移。而在Android你可以讲这个对象设置成tag,相当的有用。

1row.setTag(data);


  UITableViewController / UITableViewDataSource / UITableViewCell


  在Android中与UITableView相对应的是ListView。


  与UITableViewDataSource大体上相对应的是ArrayAdapter:


1MyAdapter adapter = new MyAdapter(this, R.layout.listview_item_row);
2listView.setAdapter(adapter);


  如上的例子中,listviewitemrow是布局中的一行,大体上相当于一个UITableViewCell。


  Adapter通过getView来创建或复用不同的列。


  你还可以设置表头:


1View header = getLayoutInflater().inflate(R.layout.listview_header_row, null);
2listView.addHeaderView(header);


  网上有大把相关的好教程,例如这个


  Images / Resources


  自从Asset Catalogues在iOS出现后,对于图片的处理就轻松了很多,而且只需要应付retina和非retina屏幕即可(除非你还有专门为iPad使用的图片)。


  为了适应不同Android设备的分辨率,你需要提供四套不同尺寸的图片。


  它们分别是:mdpi (中等质量)、hdpi (高质量)、 xhdpi (超高质量), xxhdpi (宇宙无敌高质量)。个人很期待xxhdpi画质的出现。


  当你在Android Studio里创建工程的时候,它会为你所提供的应用图标自动生成四种不同尺寸的图标。这可把设计师们吓的心肝儿发颤了吧,别担心,稍后它们还是可以被完美的图标所替换的。


  所以,基本的理念就是对应不同的屏幕分辨率创建不同的图片,并用与之相对应的屏幕分辨率的名字命名后,放入正确的文件夹中,之后的事情就交给Android去处理吧。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部