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
注意: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