开发Android过程中遇到到的问题

一.关于包已经注册的问题 Android J2ME 7ff6^zx0N$d@/| J
    当你需要在多个Activity切换的时候,你就需要在 配置 文件里面说明Activity的存在。 Android J2ME |Z C0vA[3q
   Package com.gggeye is already registered by /data/app/CanvasDemo.apk
^9s!c@vZgyT0    这个怎么处理呢 Android J2ME _+R-I|?
   简单的做法就是更改你程序的包名。
NELju)f/`0 Android J2ME #jL:`g)|!{.A
二.怎么样在 Android 添加菜单的支持 Android J2ME ;Xc_8D8O2G
     J2ME有addCommand(cmd)的支持。Android呢?看看再说。 Android J2ME I,fKlK*n
Android J2ME 0SU9aa GGm)x1b

一、菜单的生成

    对一个Android应用中的每一个屏幕,也就是说,对每一个Activity类,都会拥有一个默认菜单。在Activity类中,定义了几个与菜单有关的方法,供继承于Activity类的子类去重载,从而定制我们自己的菜单。这几个方法为:

public boolean onCreateOptionsMenu(android.view.Menu menu);

public boolean onPrepareOptionsMenu(android.view.Menu menu);

public boolean onOptionsItemSelected(android.view.MenuItem item);

  为了生成我们自己的菜单Android为我们提供了两个时机点。当在Activity类实例启动时,我们可以通过重载onCreateOptionsMenu()来定制我们的菜单;另外,也可以在菜单每次被调用时,对菜单中的项重新生成,通过重载onPrepareOptionsMenu来实现。对于第二种方式,由于每次调用时都要重新生成,对于那些不经常变化的菜单,效率就会比较低。看下面的代码:

@OverrideAndroid J2ME d JX1` cF
public boolean onCreateOptionsMenu(Menu menu) {Android J2ME z f)d{,r�V vu
   super.onCreateOptionsMenu(menu);Android J2ME X]0?-[2OT A/nPY
   menu.add(0, 0, “菜单项一”);
Ol1s*h5ob du(LT0   menu.add(0, 1, “菜单项二”);
o1vk!R7}*NX+C4q0   menu.add(0, 2, “菜单项三”);Android J2ME $p/KOjxA0v
   return true;
j0hV /-h(a0}

    Menu.add()方法第一个参数表示给这个新增的菜单项分配一个分组号;第二个参数表示给这个新增的菜单项分配一个唯一标识id;第三个参数为菜单项的标题。

    我们可以通过调用Menu.setItemShown()或者Menu.setGroupShown()方法来显示或隐藏一些菜单项。

    这里要注意的一个地方是:菜单项的显示顺序是按代码中添加的顺序来的,也就是说Menu.add()方法只能在菜单的最后面新增一个菜单项。另外,第一个参数的分组标识,不会改变菜单项的显示顺序。Android J2ME (T'vhRs%@
二、响应菜单项点击

   当菜单显示出来后,用户点击菜单中的某一菜单项,我们的菜单需要响应这个点击事件。这个也很简单,通过重载onOptionsItemSelected()方法来实现,直接上例子:

@Override
#y5XHQA@D0public boolean onOptionsItemSelected(Menu.Item item){
(~R [0wgG6Ru4xX-P.Kr0   switch (item.getId()) {
I/]zo(J}3_,L7M0   case 0:Android J2ME .ct8i B)T%q#w
       showAlert(”Menu Item Clicked”, “菜单项一”, “ok”, null, false, null);
t _I)AtK)t` n1Y0       return true;
ln~u3H2Q0   case 1:
;U,H` i;n*i$qM.V0       showAlert(”Menu Item Clicked”, “菜单项二”, “ok”, null, false, null);
i#R3l / @{0       return true;Android J2ME w B$e[.Iz2B+M
   case 2:Android J2ME !WKON.E2^[;C/k
       showAlert(”Menu Item Clicked”, “菜单项三”, “ok”, null, false, null);
U*xWy/AMT k0       return true;
0T*It%x&ax0   }
L3B0_?Q#at~;P3B!p9l$q0   return false;Android J2ME :A5w.rc ^E+{A'y
}

    这里,我们还可以通过调用Item.setAlphabeticShortcut()或Item.setNumericShortcut()方法来增加菜单项的快捷键操作。

    对响应菜单项点击,还有另一个办法,可以通过实现Runnable类()的一个子类,做为消息句柄来对菜单项点击做响应,但这种办法效率较低,不推荐这么做。

三、增加子菜单

    我们还可以通过调用Menu.addSubMenu()方法,为某个菜单项添加子菜单,这个方法返回一个SubMenu实例,我们可以在这个SubMenu菜单中添加子菜单项。

   注:菜单只能有一级子菜单,不支持多级。

上面是查看网络上的资料。不过下面我来说下菜单的问题Android J2ME N6k'/z!xZI}

菜单的定制就这么简单。不过如果你实现了onKeyUp ,onKeyDown的话,那些菜单式显示不了的哦。Android J2ME 4vvI8Jh(w

三。怎么样处理文件操作呢
ST)`0~O+I#f&_'o0      Android也有文件系统,他提供了想J2SE一样的文件APIs。
我在用这些API来模拟RMS实现的时候,发现,有很多文件目录你需要授权才可以访问的。所以如果你需要添加,或者修改文件的话建议你保存到home目录下面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值