android 小知识

来源:互联网 发布:数据库开发的书 编辑:程序博客网 时间:2024/06/05 08:08
 

Android中创建自己的Launcher

分类: Android 101人阅读 评论(0) 收藏 举报

效果如图:


点击Home键的时候,会弹出选择2个luncher中的哪一个~LuncherTest是我们自定义的

在启动的activity中<intent-filter>中间加入三行代码就ok了,关于LuncherTest的具体内容就可以自己来设置,这里就不详述了~

[html] view plaincopy
  1. <intent-filter>  
  2.               <action android:name="android.intent.action.MAIN" />  
  3.               <category android:name="android.intent.category.HOME"/>  
  4.               <category android:name="android.intent.category.DEFAULT" />  
  5.           </intent-filter>  
 

设置AndroidManifest.xml文件中Android程序的icon

分类: Android 34人阅读 评论(0) 收藏 举报
在AndroidManifest.xml代码中的图标含义
其中在applicatiton下的android:icon,表示的是在管理应用程序的列里出现的图标;而在主Activity中的android:icon则表示界面图标
[html] view plaincopy
  1. <application  
  2.         android:icon="@drawable/ic_launcher"  
  3.         android:label="@string/app_name" >  
  4.         <activity  
  5.             android:icon="@drawable/icon"  
  6.             android:name=".MainActivity"  
  7.             android:label="@string/app_name" >  
  8.             <intent-filter>  
  9.                 <action android:name="android.intent.action.MAIN" />  
  10.   
  11.                 <category android:name="android.intent.category.LAUNCHER" />  
  12.             </intent-filter>  
  13.         </activity>  
  14.     </application>  

下图的图标显示的是application下的icon;

下图的手机卫士显示的图即是主Activity下的icon设置


 

如何让Android应用支持多种语言

分类: Android 29人阅读 评论(0) 收藏 举报

目录(?)[+]

有那么一堆Android用户特喜欢没事就把系统设置为英文或者其他语言,然后再换回中文(我就属于这一类),然后看那些应用有改变,不过比较可惜的是很多主流的应用都没有支持多种语言切换,这应该是细节问题却不被重视!有像我这样闲着蛋疼的同学可以测试下你手机里的应用~大笑
言归正传,具体怎么做如下:

通过对不同资源的命名来打到国际化的目的,命名规范:“文件名-语言-地区”

默认字符串资源代码string.xml(res/values/string.xml):

[html] view plaincopy
  1. <?xml version"utf-8"?>  
  2. <resources>  
  3.     <string name="title">My Application</string>  
  4.     <string name="hello_world">Hello World!</string>  
  5. </resources>  

中文字符串资源代码string.xml(res/values-zh-rcn/string.xml)
[html] view plaincopy
  1. <?xml version"utf-8"?>  
  2. <resources>  
  3.     <string name="title">我的应用</string>  
  4.     <string name="hello_world">你好!世界!</string>  
  5. </resources>  
搞完收工~如果还有支持其他的比如法语,日语等等都类似

  1. 给android加入关屏

    分类: android 2234人阅读 评论(1) 收藏 举报
    androiddialognullserviceimport电话

     

    修改policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java
    按照上一个博客修改关机菜单的方法添加个关屏菜单。其实如果硬件能定义一个专门关机的键会比较好 长短按有区别的对待。挂断短按如果要关屏的话 就要加入电话判断是不是通话?

    修改frameworks/base/core/java/com/android/internal/app/ShutdownThread.java添加关屏代码
    import android.os.SystemClock;
    import android.os.PowerManager;
    //关屏
        public static void goToSleep(Context context,long time){
         context.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null);
          final AlertDialog dialog = new AlertDialog.Builder(context)
          .setIcon(android.R.drawable.ic_dialog_alert)
          .setTitle(com.android.internal.R.string.sleep)
          .setMessage(com.android.internal.R.string.sleep_confirm)
          .setPositiveButton(com.android.internal.R.string.yes,
                                       new DialogInterface.OnClickListener() {
                                           public void onClick
                                               (DialogInterface dialog, int which){
                                               PowerManager pm = (PowerManager)mContext.getSystemService(Context.POWER_SERVICE);
                                               pm.goToSleep(SystemClock.uptimeMillis());
                                           }
                                       })
                .setNegativeButton(com.android.internal.R.string.no, null)
                .create();
          dialog.getWindow().setType
                (WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
            dialog.getWindow().addFlags
                (WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
            dialog.show();
         
          }

     

    Android Launcher桌面图标的加载和存储

     1288人阅读 评论(0) 收藏 举报
    androidsearch数据库browser存储

    1) 桌面安装之后有5个默认的图标:search、contacts、browser、phone、message。它们是系统自带的,那它们是在哪儿存储的?什么时候加载的? 
    2) 在res/xml目录下的default_workspace.xml文件中定义了它们。里面还定义了其他一些常用应用。定义格式如下: 
     packageName="com.android.contacts"指定该应用的包名。 
     launcher:className="com.android.contacts.DialtactsActivity"该应用所对应的类。 
     launcher:screen="1"在桌面的第几屏,从0开始。 
     launcher:x="0"launcher:y="3"在屏幕的哪个位置,屏幕(celllayout)被分为4X4=16格。 
    3) 在LauncherProvider.Java类中有一个数据库管理类DatabaseHelper.Java。在创建数据库时由 loadFavorites方法将它们加载进来。再根据name调用addAppShortcut、addSearchWidget、 addClockWidget或addShortcut方法将应用插入到数据库。 
    4) 修改search框的长度: 
    当我们在做平板电脑时,由于采用的是横屏,所以x方法的cell会很多,我做的就是5X4,但search控件默认的spanx为4,这样就不能居中显示。可以将search的spanx修改为5,具体修改跟踪代码: 
     Search和clock等五个控件是Android自带的,它定义在default_workspace.xml文件中,默认加载的; 
     第一次启动时将他们写入数据库,是在LauncherProvider.Java类中完成的; 
     但每次启动过程中要调用widget.java中的makeSearch()方法,从新加载一般search控件。 
     这就是search的加载过程,关于search的搜索运行过程大家可以跟踪一下launcher里面的search代码。 
     要实现让search居中,我这儿将search的spanx该为5就可以了,可以修改LauncherProvider中的 addSearchWidget()方法,将Favorites.SPANX的值改为5;接着修改widget中的makeSearch()方法,也将 Favorites.SPANX的值改为5。