日常问题解决

android studio 教程---》http://www.android-studio.org/index.php/docs/guide/


注意:handler的取名注意,千万别让名字用差了




0.
Android实现dialog时候弹出软键盘dialog移位问题
Window win = getWindow();
WindowManager.LayoutParams params = win.getAttributes();
win.setSoftInputMode(params.SOFT_INPUT_ADJUST_NOTHING);


1.serialport
 
  串行端口,现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍



  例如,在计算机没有安装网卡的情况下,将本机上的一些信息数据 传输到另一台计算机上,那么利用


串口通信就可以实现。
  运行本程序,在“发送数据”文本框中输入要传送的数据,单击【发送】按钮,将传送的数据发送到


所选择 的端口号中;
  单击【接收】按钮,传递的数据被接收到“接收数据”文本框中。


2.android 
alpha 渐变透明度动画效果
scale 渐变尺寸伸缩动画效果
translate  画面转换位置移动动画效果
rotate 画面转移旋转动画效果


  //改变背景颜色的动画实现如下:
  ObjectAnimator translationUp = ObjectAnimator.ofInt(button,  
                "backgroundColor", Color.RED, Color.BLUE, Color.GRAY,  
                Color.GREEN);  
        translationUp.setInterpolator(new DecelerateInterpolator());  
        translationUp.setDuration(1500);  
        translationUp.setRepeatCount(-1);  
        translationUp.setRepeatMode(Animation.REVERSE);  
        /* 
         * ArgbEvaluator:这种评估者可以用来执行类型之间的插值整数值代表ARGB颜色。 
         * FloatEvaluator:这种评估者可以用来执行浮点值之间的插值。 
         * IntEvaluator:这种评估者可以用来执行类型int值之间的插值。 
         * RectEvaluator:这种评估者可以用来执行类型之间的插值矩形值。 
         *  
         * 由于本例是改变View的backgroundColor属性的背景颜色所以此处使用ArgbEvaluator 
         */  
  
        translationUp.setEvaluator(new ArgbEvaluator());  
        translationUp.start();
3.日期


   //格式化当前的日期
        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = f.format(nowTime);
        System.out.println("-------------" + time);

//拿到年月日十分,不要秒!
        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = f.format(new Date()).substring(0,16);
4.吐司
   Toast.makeText(mactivity,"点击之后右边的隐藏起来",Toast.LENGTH_SHORT).show();


5.listview间距
   Android:dividerHeight 设置分割线高度
   android:divider 设置分割线颜色(@android:color/transparent 也可以直接写作 #00000000,注意  


 是8个0)


6.android中获取某段程序的执行时间 (2015-08-21 16:32:46)
最近在做一个蓝牙设备,用户需要了解蓝牙手机同设备之间通讯的时间,
android的Date 最小时间为s,但是数据的传输时间是ms级的,这里处理如下:
在指令执行之前:
Date   startDate   =   new   Date(System.currentTimeMillis());
在收到设备返回数据之后添加如下语句:
Date   endDate   =   new   Date(System.currentTimeMillis());
long diff = endDate.getTime() - startDate.getTime();
然后在文本框中显示出来:
String sDiff = String.valueOf(AmoComActivity.Diff);  
((TextView) findViewById(R.id.edit_text)).setText(sDiff);


7.
<ListView
        android:id="@+id/lv_right"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:listSelector="#00000000"
//间隙背景色为空
        android:divider="@android:color/transparent"
        android:layout_marginLeft="35dp"
        android:layout_marginRight="25dp"
//item间隙的宽度
        android:dividerHeight="40dp"></ListView>


8.跑步热量计算
跑步热量(kcal)=体重(kg)×运动时间(小时)×指数K 
指数K=30÷速度(分钟/400米)
例如:某人体重60公斤,长跑1小时,速度是3分钟/400米或8公里/小时,那么他跑步过程中消耗的热量=60


×1×30/3=600kcal(千卡)


      热量计算的js文件
    var msg = ''; 
        var weight = 0; 
        var duration = 0; 
        function calculateBurned() 
        { 
            var calories=0; 
            var minutes=60; 
            var inertia=190; 
            lngReturn = validateForm(document.frmBurned); 
            if(lngReturn == true) 
            { 


                //热量计算
                var activity = document.frmBurned.cmbActivity


[document.frmBurned.cmbActivity.selectedIndex].value; 
                var realTime = eval(duration / minutes); 
                var realWeight = eval(weight / inertia); 
                calories = Math.round(eval((realTime * realWeight) * activity)); 
                document.frmBurned.txtBurned.value = calories; 




            } 
            return; 
        } 
        function validateForm(TheForm) 
        { 
            msg = ''; 
            if(TheForm.cmbActivity.selectedIndex == 0) 
            { 
                msg = msg + '肌肉网提示:请您选择数值\n'; 
            } 
            checkTextBox('Duration (in minutes)', duration); 
            checkTextBox('Weight (in pounds)', weight); 
            if ((msg) != '') 
            { 
                alert(msg); 
                return false; 
            } 
            else 
            return true; 
        } 
        function checkTextBox(Name, value) 
        { 
            if(IsNumeric(value)) 
            { 
                if(value == 0) 
                { 
                    msg = msg + 'The '+ Name + ' must be greater than zero (0)\n' 
                } 
            } 
            else 
            { 
                msg = msg + 'The ' + Name + ' must be a numeric value\n' 
                return false; 
            } 
            return true; 
        } 
        function IsNumeric(strTest) 
        { 
            var regExp = /\d+$/; 
            return(regExp.test(strTest)); 
        } 


9.计时器
Chronometer 是继承 TextView ,也就是TextView 的属性方法它都可以用的.
getBase():返回时间。
setBase(long base):设置计时器的起始时间。
Integer.parseInt(String.valueOf(mTimer.getText().subSequence(0,1)))




iar msp430


10.
View.SYSTEM_UI_FLAG_FULLSCREEN,   //全屏,状态栏和导航栏不显示
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION, //隐藏导航栏
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, //全屏,状态栏会盖在布局上
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, 
View.SYSTEM_UI_FLAG_LAYOUT_STABLE,
View.SYSTEM_UI_FLAG_LOW_PROFILE,
View.SYSTEM_UI_FLAG_VISIBLE,  //显示状态栏和导航栏


11.TextClock


12activity 切换动画
   Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画
   在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是


overridePendingTransition。


13.GrideView点击效果设置
   android:listSelector="@android:color/transparent"


14,设置dialog背景不变暗
<resources>
    <style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:backgroundDimEnabled">false</item><!--activity不变暗-->
    </style>
</resources>


设置为true, 背景变暗


Dialog = new Dialog(Activity, R.style.dialog);


15.TextClock :自动显示当前时间的控件


16.
       new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                enterMain();
            }
        }, 3000);


17.广播接收者注意事项:
  
BroadcastReceiver生命周期只有10秒左右。
在BroadcastReceiver里不能做一些比较耗时的操作
应该通过发送Intent给Service,有service来完成
不能使用子线程


service优先级高于Activity,后台运行,不可见,没有界面
用途:播放音乐,记录地理信息位置改变,监听某个动作
运行在主线程,不能用它来做耗时操作
可以在服务中开一个线程,在线程做耗时操作


18.常用的系统服务
   
MountService:坚挺是否有SD卡及移除
ClipboardService:提供剪切板功能
PackageManagerService:提供软件包的安装移除及查看
getSystemService()


19.帧动画
loading2.XML
  <?xml version="1.0" encoding="utf-8"?>
  <animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">


    <item
        android:drawable="@mipmap/loading11"
        android:duration="150" />
    <item
        android:drawable="@mipmap/loading12"
        android:duration="150" />
    <item
        android:drawable="@mipmap/loading13"
        android:duration="150" />
    <item
        android:drawable="@mipmap/loading14"
        android:duration="150" />
    <item
        android:drawable="@mipmap/loading15"
        android:duration="150" />
    <item
        android:drawable="@mipmap/loading16"
        android:duration="150" />


</animation-list>




android:src="@drawable/loading2"


代码里
   animationDrawable = (AnimationDrawable) loading.getDrawable();
   animationDrawable.start();
上面的实现了小象在动的动画


20.调用系统声音
     AudioManager audioManager= (AudioManager) mActivity.getSystemServic


(Service.AUDIO_SERVICE);
audioManager.adjustStreamVolume


(AudioManager.STREAM_SYSTEM,AudioManager.ADJUST_SAME,AudioManager.FLAG_SHOW_UI);


21.JSON
注意括号里的content一定要加上不然解析谁呀
JSONObject jo = new JSONObject(content);
                    String status = jo.getString("status");


22.
调用数字键盘
editText.setInputType(EditorInfo.TYPE_CLASS_PHONE);




23.自定义seekbar中,thumb(滑动的按钮)被覆盖掉一部分问题
http://blog.csdn.net/dany1202/article/details/6015008











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值