Android学习笔记

       

    Android小知识            

一. Android系统启动后,直接进入到自己的程序

          1.在想要启动程序中接收开机完成的广播android.intent.action.BOOT_COMPLETED,然后启动需要的activiy就可以

           2.修改源程序,在自己的程序中加上<category android:name="android.intent.category.HOME" />   

            1的方法lanuch程序还在,而第二种却没有   

二.android音乐播放器开发中
    IntentFilter intentfilter=new IntentFilter();
    intentFilter.addDataScheme("file");这代码如果不加的话,不能监听到Sd卡的插拔事件...

三.在listview的XML文件下加android:divider="@null",可以将每个item的下划线去掉

四.在Activity里在EditText输入时会弹出虚拟键盘,点击activity其他空白处隐藏虚拟键盘

public boolean onTouchEvent(MotionEvent event)
    {
        /** 获得系统服输:输入法 */
        InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
        int action = event.getAction();
        switch (action)
        {
            case MotionEvent.ACTION_DOWN:
                // 点击空白处软键盘消失
                imm.hideSoftInputFromWindow(pwdEdt.getWindowToken(), 0);
                imm.hideSoftInputFromWindow(usrEdt.getWindowToken(), 0);
                break;
        }
        return false;
    }

   //pwdEdt,usrEdt为登陆界面的2个EditText.

五.定义自己的Toast(加图片http://blog.csdn.net/dyllove98/article/details/8811006)

public class ToastUtil
{
    public static void show(Context context, String message)
    {
        Toast toast = new Toast(context);
        View view = LayoutInflater.from(context).inflate(R.layout.toast, null);
        TextView textView = (TextView)view.findViewById(R.id.toast_text);
        textView.setText(message);
        toast.setView(view);
        toast.setDuration(Toast.LENGTH_SHORT);
        toast.setGravity(Gravity.CENTER, 0, 50);
        toast.show();
    }
}

对应的XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:background="#000000" >
<TextView android:id="@+id/toast_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:textStyle="normal"
    android:paddingLeft="20dp"
     android:paddingTop="10dp"
     android:paddingBottom="10dp"
     android:paddingRight="20dp"
    android:textColor="@android:color/background_light"
></TextView>
</LinearLayout>

六.得到本地客户端的版本信息

public void getCurrentVersion()
    {
        try
        {
            String packAge = context.getPackageName();
            //得到当前的版本名
            currentVersionName = context.getPackageManager().getPackageInfo(packAge, 0).versionName;
            currentVersionCode = String.valueOf(context.getPackageManager().getPackageInfo(packAge, 0).versionCode);
        }
        catch (NameNotFoundException e)
        {
            //记录日志
        }
    }

七.mainfest的activity属性

<activity
            android:configChanges="orientation|keyboardHidden"   //表示activity横竖屏切换时,activity生命周期不重新来一遍而闪屏
            android:name=".UI.BenchMarkUI"
            android:screenOrientation="sensorPortait" >     //表示不横竖屏切换
        </activity>

 八.Mars_ Android视频开发教程源码第1至5季http://bbs.csdn.net/topics/390307071

九.android项目乐淘  http://download.csdn.net/download/xuweilinjijis/5241901

十.脚本语言学习python  http://czug.org/index.rst

11 Q群244763380

12 反编译APK  http://blog.csdn.net/sunboy_2050/article/details/6727581

13 Android网络编程以及Android资料(安卓巴士,安卓实例和游戏源码) http://bbs.csdn.net/topics/390073205

14博客园资料 http://www.cnblogs.com/

15.tabHost刷新其中的Activity

16.ScrollView嵌套ExpandableListView时,扩展不显示,需要计算告诉:

private void setListViewHeight(ExpandableListView listView)
{  
        ListAdapter listAdapter = listView.getAdapter();  
        int totalHeight = 0;    
        int count = listAdapter.getCount();  
        for (int i = 0; i < listAdapter.getCount(); i++)
        {  
            View listItem = listAdapter.getView(i, null, listView);  
            listItem.measure(0, 0);  
            totalHeight += listItem.getMeasuredHeight();  
        }  
  
        ViewGroup.LayoutParams params = listView.getLayoutParams();  
        params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));  
        listView.setLayoutParams(params);  
        listView.requestLayout();  
    } 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Android 的基本概念 Android 是一个开源的操作系统,主要用于移动设备,如智能手机、平板电脑等。它基于 Linux 内核,提供了丰富的应用程序框架和 API,支持多种开发语言,如 Java、C/C++、Kotlin 等。 Android 应用程序由多个组件组成,包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)等。这些组件可以组合在一起,形成复杂的应用程序。 2. Android 应用程序开发 Android 应用程序开发主要使用 Java 编程语言和 Android SDK。开发工具包括 Android Studio、Eclipse 等。 Android 应用程序的结构包括布局文件、资源文件、Java 代码和清单文件等。布局文件用于定义应用程序的用户界面,资源文件包括图像、声音、样式、主题等,Java 代码实现应用程序的逻辑,清单文件描述应用程序的组件和权限等信息。 3. Android 应用程序的调试和测试 Android 应用程序的调试和测试可以使用 Android Studio 提供的调试工具,包括断点调试、日志记录等。还可以使用模拟器或真实设备进行测试。 4. Android 应用程序的发布 发布 Android 应用程序需要进行签名和打包操作,签名用于验证应用程序的身份和完整性,打包将应用程序打包成 APK 文件,可以上传到应用商店进行发布。 5. Android 应用程序的优化 Android 应用程序的优化包括优化布局、资源、代码和网络等方面,以提高应用程序的性能和用户体验。其中,布局优化包括使用布局最优化算法、使用自定义视图等;资源优化包括压缩资源、使用向量图形等;代码优化包括使用异步任务、使用缓存等;网络优化包括使用数据压缩、使用本地存储等。 6. Android 开发的挑战 Android 开发面临的挑战包括设备碎片化、安全问题、性能问题等。设备碎片化指的是不同设备的屏幕尺寸、分辨率、操作系统版本等不同,需要对应用程序进行适配;安全问题指的是应用程序需要保证用户数据的安全和隐私;性能问题指的是应用程序需要保证快速响应和流畅运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值