eclipse老是自动退出

今天在使用eclipse的时候,一会儿就自动退出,重试很多次无果!前两天都还是好好的,怎么会这样呢?后来一想,昨天升级ubuntu的时候升级了openjdk,难道是这个原因?删除openjdk,然后安装sun-java6-jdk。ubuntu下在/etc/apt/sources.list添加:

1
deb http://archive.canonical.com/ lucid partner 

测试之后,搞定!如果遇到同样问题,多半是jdk的问题。

android屏幕旋转问题

转自:http://blog.csdn.net/jump_1990/archive/2009/11/04/4766853.aspx

要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:
在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation=“landscape”。

例如(landscape是横向,portrait是纵向):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.ray.linkit" 
      android:versionCode="1" 
      android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
        <activity android:name=".Main" 
                  android:label="@string/app_name" 
                  android:screenOrientation="portrait"> 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
                <activity android:name=".GamePlay" 
                android:screenOrientation="portrait"></activity> 
                <activity android:name=".OptionView" 
                android:screenOrientation="portrait"></activity> 
    </application> 
    <uses-sdk android:minSdkVersion="3" /> 
</manifest>

另外,android中每次屏幕的切换都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次 Create的时候载入配置,那样,进行中的游戏就不会自动重启了!也可以给每个activity加上 android:configChanges=“keyboardHidden|orientation"属性,就不会重启activity,而是去调用 onConfigurationChanged(Configuration newConfig)。这样就可以在这个方法里调整显示方式:

1
if(newConfig.orientation==Configuration.  

android模拟器中使用应用商店(appstore)

如何在android模拟器中使用应用商店呢?

  1. http://developer.htc.com/adp.html下载对应sdk的system.img,比如你装有1.6的android sdk,那么下载http://member.america.htc.com/download/RomCode/ADP/signed-dream_devphone_userdebug-img-14721.zip?

  2. 将包里面的system.img解压缩到所建立的虚拟设备目录下,比如你的虚拟设备叫做htc,那么虚拟设备目录windows下在%APPLICATIONDATA%.androidavdhtc.avd下,linux在$HOME/.android/avd/htc.avd/下

  3. 如果在创建虚拟设备的时候没有添加sdcard,不然会出现connection error错误!那么请添加sdcard,在虚拟设备目录下执行(前提当然是将android sdk中tools加入$PATH中)

1
mksdcard 512M sdcard.img
  1. 启动模拟器,现在你就可以使用Google帐户登录appstore了,免费软件尽情下载安装吧!

android设置APN

在android下如何通过程序设置APN连接呢,比如我想通过一个私有的APN连接到网络。查询到的结果是:

  1. 第一步,创建activity,使用如下代码设置APN: 
1
2
3
4
5
6
7
8
ContentValues values = new ContentValues();
values.put("NAME", "CMCC");
values.put("APN", "CMCC");
values.put("PROXY", "192.168.0.171");
values.put("PORT", "80");
values.put("USER", "");
values.put("PASSWORD", "");
this.getContentResolver().insert(Uri.parse("content://telephony/carriers"), values);
  1. 在AndroidManifest.xml中添加如下内容:
1
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />

android下设置默认APN

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
/**
 * set default apn
 * @param id
 */
private void setDefaultApn(int id) {
    // TODO Auto-generated method stub
  ContentResolver cr = getContentResolver();
  ContentValues cv = new ContentValues();
  cv.put("apn_id", id);

  try {
    cr.update(preferapnUri, cv, null, null);
   } catch (Exception e) {
    // TODO Auto-generated catch block
       e.printStackTrace();
  }
}