`

Android开发小技巧集合(不断更新中)

阅读更多
先写下几个知道的,
1.定时清理类似C:\Documents and Settings\Android123\.android下的.android文件夹
2.可以通过settings----Language&software key进行是否在输入时显示软键盘的设置
3.当进行代码输出调试的时候,有下面几种输出方式:
/* 打印出不同的log信息 */
Log.v(TAG, "VERBOSE");
Log.d(TAG, "DEBUG");
Log.i(TAG, "INFO");
Log.w(TAG, "WARN");
Log.e(TAG, "ERROR");

4.Drawable文件夹相关
    资源文件名字命名需要全部为小写形式,并且不能是单独的数字命名
    在之前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
    系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片
5.Context字面意思上下文:
    位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄,很多方法需要通过Context才能识别调用者的实例,比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity,而到了一个button的onClick(View view)等方法时,我们用this时就会报错,所以我们可能使用ActivityName.this来解决,主要原因是因为实现Context的类主要有Android特有的几个模型,Activity、Service以及BroadcastReceiver。
    常规需要Context实例的方法主要有各种Service实现的类,比如说SensorManager在实例化时需要getSystemService(String)方法就必须由Context的实例执行,还有一些私有的文件系统I/O比如说openFileInput以及常用的Toast的makeText方法等

6. emulator: ERROR: the user data image is used by another emulator. aborting
    出现这种错误我在网上查了下,好像是由于程序没有正常关系导致的,至于更深层次的原因,我也还没搞清楚,如果哪位知道帮告知下
暂时处理方法:
adb kill-server
adb devices


7.设置窗口格式为半透明
 
getWindow().setFormat(PixelFormat.TRANSLUCENT);


8.取得屏幕大小

  方法A:
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
hAndW[0] = display.getWidth();
hAndW[1] = display.getHeight();


  方法B:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
hAndW[0] = dm.widthPixels;
hAndW[1] = dm.heightPixels;


9.取得内存大小
ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(outInfo);
//可用内存
outInfo.availMem
//是否在低内存状态
outInfo.lowMemory



10.监听App安装/卸载事件
A.Define a class derived from class BroadcastReceiver;
B.Register broadcast receiver;
   
MyBroadcastReceiver myReceiver = new MyBroadcastReceiver();
    
    IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_INSTALL);
    filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
    filter.addAction(Intent.ACTION_PACKAGE_ADDED);
    filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
    filter.addAction(Intent.ACTION_PACKAGE_RESTARTED);
    ...
    filter.addDataScheme("package"); //This line is very important. Otherwise, broadcast can't be received.
    registerReceiver(myReceiver, filter);   


11.取得IP地址
  
 
A.Connect via WIFI
    WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
    int ipAddress = wifiInfo.getIpAddress();

    B.Connect via GPRS
    public String getLocalIpAddress(){
    try{
        for(Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();){
          NetworkInterface intf = en.nextElement();
        for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();){
            InetAddress inetAddress = enumIpAddr.nextElement();
          if (!inetAddress.isLoopbackAddress()){
              return inetAddress.getHostAddress().toString();
          }
        }
      }
    }catch (SocketException ex){
        Log.e(S.TAG, ex.toString());
    }
        return null;
    }


12.Monitor Media Event: mount/unmount..

   A.Define a class derived from class BroadcastReceiver;

   B.Register broadcast receiver;
   
MyBroadcastReceiver myReceiver = new MyBroadcastReceiver();
    
    IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);
    filter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
    filter.addAction(Intent.ACTION_MEDIA_EJECT);
    ...
    filter.addDataScheme("file"); //This is important. Otherwise, broadcast can't be received
  
    registerReceiver(myReceiver, filter);
分享到:
评论

相关推荐

    Android开发技巧合集

    《Android开发技巧合集》...以上只是部分Android开发的核心知识点,实际《Android开发技巧合集》中可能包含更多实用技巧和案例。通过深入学习和实践,你将能够不断提升自己的Android开发能力,创造出更优秀的应用程序。

    Android小项目集合100多个

    在Android开发领域,小项目是积累经验、提升技能的有效途径。"Android小项目集合100多个"这个...每个项目都是一个独立的模块,涵盖不同的功能和技巧,通过研究和重构这些项目,你可以不断提升自己的Android开发技能。

    Android开发教程集合

    标题中的“Android开发教程集合”表明这是一个包含多个资源的综合教程,主要针对Android应用程序的开发。描述中的“超值---超给力”暗示这些教程内容丰富,质量上乘,适合对Android开发感兴趣的初学者和进阶者。 从...

    101人收藏史上最全的android开发资料大集合.doc

    这份文档标题为“101人收藏史上最全的android开发资料大集合”,描述中提到它包含了一系列关于Android开发的学习资源,这些资源可能是从各种渠道搜集而来,并上传至某个平台供他人下载学习。从标签“android 开发...

    android小应用代码集合后续01

    【Android小应用代码集合后续01】是一个针对Android平台的编程资源包,包含了多个关键模块的示例代码,旨在帮助开发者...记得在实践中不断探索,将理论知识转化为实际能力,这样你才能在Android开发的世界里游刃有余。

    Android小项目集合100多个.rar

    《Android小项目集合100多个》这个压缩包文件,主要涵盖了Java编程语言在Android开发中的实际应用。这里,我们将深入探讨这些项目所涉及到的Android知识点,以及它们如何帮助开发者提升技能。 首先,Android是一个...

    Android开发小技巧篇之集合

    在实现应用中,可以把控件放入List集合中。 private void initView() { // TODO Auto-generated method stub pwd1 = (EditText) findViewById(R.id.pwd_et_6_1); pwd2 = (EditText) findViewById(R.id.pwd_et_6_2);...

    android 开发技巧

    Android开发技巧涵盖了Android开发过程中的多种实践和建议,其中包括对Android常用类库的说明、文件系统与应用程序架构的理解、以及各个组件和控件的具体应用。以下是对这些知识点的详细解释: 1. ANDROID常用类库...

    android界面开发源码大集合

    在“Android界面开发源码大集合”这份资料中,主要介绍了多种Android控件的使用方法与实践技巧,适用于初学者及有一定基础的开发者作为参考。文档分为多个部分,每一部分详细地讲解了一种控件或功能的应用场景与实现...

    Android 小项目 集合 使用工具 100多个

    总的来说,"Android小项目集合使用工具100多个"这个资源为开发者提供了一个全面的学习平台,涵盖了Android开发的各个方面,无论是初学者还是经验丰富的开发者,都能从中受益。通过实践这些项目,你可以深化对Android...

    android 基础开发实例

    这本书的随书源码提供了丰富的实例,涵盖了从入门到进阶的各种主题,旨在帮助初学者建立扎实的Android开发基础。 首先,"Android软件开发"是核心概念,它涉及到使用Java或Kotlin编程语言,以及Android Studio集成...

    android游戏开发入门级经典实例

    总的来说,通过"android游戏开发入门级经典实例"的学习,初学者可以系统地掌握Android游戏开发的基本流程和技巧,从基础的编程概念到具体的游戏逻辑实现,逐步提升自己的开发能力。在这个过程中,不断实践和解决遇到...

    android SDK开发范例

    在Android应用开发中,SDK(Software Development Kit)是开发者构建应用程序的基础工具集。这个"android SDK开发范例"集合了03至06章节的...此外,不断查阅官方文档和社区资源也是持续提升Android开发技能的重要途径。

    Android+初学中阶高阶书籍_集合打包5.zip

    总的来说,《Android初学中阶高阶书籍_集合打包5.zip》是一份全面的Android学习资料,它包含了从基础到进阶的各类实例,可以帮助开发者逐步掌握Android开发的核心技术,提升解决问题的能力。无论是对初学者还是有...

    Android(安卓)开发全套112GB教程

    如此庞大的资源量表明这套教程覆盖了Android开发的多个方面,从基础知识到高级技巧都有涉及。 #### 描述详解: - **可供初学者、工程师学习参考**:这说明该教程适合不同层次的学习者。对于初学者来说,教程可能...

    Java_小型Android项目的集合.zip

    这个"Java_小型Android项目的集合.zip"文件看起来是一个资源包,包含了一些关于Android开发的小型项目实例,对于初学者或者想要提升Android技能的开发者来说,这是一个宝贵的资料库。 首先,我们来探讨Java在...

    快捷Android开发

    "Android学习笔记"则可能是个人或集体在学习过程中积累的心得体会,可能包含了一些独特的见解或实用的小技巧,对于巩固知识和拓展思路非常有价值。 总之,这份“快捷Android开发”资料集是一个全面的学习资源库,...

    Android应用案例开发大全源码

    《Android应用案例开发大全》是一本专注于Android应用程序开发实践的资源集合,包含了多个章节的源码,涵盖了Android开发的关键技术和应用场景。源码的分段上传显示了作者在分享时的贴心考虑,尽管受到文件大小限制...

Global site tag (gtag.js) - Google Analytics