淘姐妹

淘姐妹

冰雪奇缘

电脑 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】


Bing is more than just search. Bing is the only search engine that rewards you for your curiosity. Get points when you search and redeem them for gift cards at Amazon, Starbucks, and more!

Wallpaper: See beautiful wallpapers from around the world, only in Bing.Rewards: Get points when you search, and redeem them for gift cards at Amazon, Starbucks, and much more!Your feed: Swipe up on the home page to catch up with what's happening in the world and get personalized updates on your feed.Reading mode: Switch on reading mode to focus on the text, distraction-free.Sa【【微信】】: Use the built-in barcode scanner to review products and compare prices. Entertainment & Nearby: Find what you love, 【【微信】】, trending music, and recipes, to nearby deals, mo【【微信】】, and gas prices.Intelligent camera search: Learn more about the world around you. Whether it's animals, landmarks, or e【【微信】】, searching is as simple as snapping a picture.【【微信】】: What's the best way to get an answer? Ask a 【【微信】】. Talk to Bing and get instant results.Fast search: Get to know the world with one click. Answer your 【【微信】】s faster and easier. Secure Browsing: Protect your privacy. 【【微信】】owse without saving your history, cache, cookies, and personalization info.* Some features are not a【【微信】】es.



android kotlin android开发教程第6讲

android什么意思,android auto,android是什么设备,android软件开发

1.首选项的存取数据

写一个类,里面放入存取方法,然后在外面进行调用

<【【微信】】lass?PrefsUtils?{

private?【【微信】】?final?String?PREFS_NAME="com.yomoto.util.OtherPrefs";

//这里放入的名字存入的地址是:data/data/项目包名/shared_prefs/PREFS_NAME

//得到首选项中的数据

<【【微信】】?【【微信】】?String?getValue(【【微信】】?context,String?key,String?defaultvalue){

【【微信】】?prefs=context.get【【微信】】(PREFS_NAME,?【【微信】】.MODE_PRIVATE);

if(prefs==null)?return?"Unknow";

return?prefs.getString(key,?defaultvalue);

}

//向首选项中存入数据

<【【微信】】?【【微信】】?void?【【微信】】(【【微信】】?context,String?key,String?value){

【【微信】】?prefs=context.get【【微信】】(PREFS_NAME,?【【微信】】.MODE_PRIVATE);

【【微信】】?【【微信】】=prefs.edit();

if(【【微信】】==null)?return;

【【微信】】.putString(key,?value);

【【微信】】.commit();

}}

在外面对首选项中的方法进行调用:

拿数据:

//0是拿字段为intro1的值的时,没有值情况下的默认值

PrefsUtil【【微信】】(【【微信】】.this,?"intro1",?"0");

存数据:

PrefsUtils.【【微信】】(【【微信】】.this,?"intor1",?"1");

2.联网情况的判断,可以放入工具类中的方法

<【【微信】】?【【微信】】?Boolean?isNetworkA【【微信】】(【【微信】】context){

try{

Connecti【【微信】】?cm?=?(Connecti【【微信】】)context

.getSystemService(【【微信】】.CONNECTI【【微信】】);

//获取网络信息

NetworkInfo?info?=?cm.getActi【【微信】】();

//返回检测的网络状态

return(info!=null&&info.isConnected());

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

3.判断SD卡是否存在,可以放入工具类中的方法

<【【微信】】?【【微信】】?Boolean?hasSdcard(){

String?state?=?En【【微信】】.getExternalStorageState();

if(state.equals(En【【微信】】.MEDIA_MOUNTED)){

return?true;

}else{

return?false;

}}

?

?

4.在activity中的几个常用设置

//默认不弹出软键盘,在setContentView之前

1)【【微信】】().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

//设置界面全屏,在setContentView之前

2)【【微信】】().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

或者在manifest中进行设置,android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"

5.在ScrollView中嵌入【【微信】】和ListView

<【【微信】】lass?Na【【微信】】?extends?【【微信】】{

?

<【【微信】】?Na【【微信】】(【【微信】】context,AttributeSetattrs){

super(context,attrs);

}

?

<【【微信】】Na【【微信】】(【【微信】】context){

super(context);

}

?

<【【微信】】Na【【微信】】(【【微信】】context,AttributeSetattrs,intdefStyle){

super(context,attrs,defStyle);

}

?

@Override

<【【微信】】voidonMeasure(intwidth【【微信】】,intheight【【微信】】){

int?expandSpec?=?【【微信】】.make【【微信】】(

Integer.MAX_VALUE>>2,【【微信】】.AT_MOST);

super.onMeasure(width【【微信】】,expandSpec);

}}

?

ListView与【【微信】】一样,重写的方法一样。

6.Android生命周期的问题

1)软件启动后,第一次会执行【【淘密令】】和启动的activity,按返回键退出的再打开的时候不执行【【淘密令】】,只有将进程杀死,才会执行【【淘密令】】和activity.

7.语法问题

1.?设置日期格式的语法

private?【【微信】】?format;

format?=?new?【【微信】】("yyyy年MM月dd日?HH:mm:ss");

Date?current?=?new?Date(System.currentTimeMillis());

String?str?=?format.format(current);

2.设置在手机中控制字的回车

在需要回车的地方加上

例如:在【【微信】】.xml中设置的效果为:

比普通用户享受更低的价格 更多种类的优惠券比团 购更优惠,更方便

8.额外知识点总结

1)手机屏幕

小米1s的手机屏幕 高度:854?宽度:480

三星5.8寸手机屏幕 高度:960?宽度:540

9.问题解决和处理

1)在ScrollView中的【【微信】】有时候添加完数据后,【【微信】】会获取焦点,导致界面显示从【【微信】】开始,此时在【【微信】】.【【微信】】(adapter);后加上

【【微信】】.setFocusable(false);来解决焦点的问题。

10.手机直接跳转到网页

Uriuri=Uri.parse("http://appadmin.ibinggo.com/adm_program/modules/downloads/get_file.php?file_id=7");

Intentintent=newIntent(Intent.ACTION_VIEW,uri);

【【微信】】(intent);

11.?message配合handler的使用

Messagemessage=mHandler.obtainMessage();//数据下载完毕后,向handler发送一个数据,进行界面ui的更新。

message.what=1;

message.sendToTarget();

?

Handler?mHandler?=?new?Handler(){

@Override

<【【微信】】?void?handleMessage(Messagemsg){

super.handleMessage(msg);

if(msg.what==1){}

}}

12.?Android基础知识点

1)Android?UI更新是在主线程中进行的。

2)

android:allowBackup="true"

android:icon="@drawable/ic_donga"

//这里一定要写上它的名字

android:name="com.【【微信】】.xinlife.activity.【【微信】】"

android:label="@string/app_name"

android:theme="@style/Theme.Sherlock"

>

3)根据条件分割字符串

String[]?s?=?t.split("sess_id=");?//拆分字段

4)?Gson?gson?=new?Gson();?//解析json到localCouponsList

//处理集合数据

mCoupons?=?gson.fromJson(t,?new?TypeToken>(){}.getType());

//处理单独的类数据

updateTime?=?gson.fromJson(t,?UpdateTimeInfo.class);

5)?NotificationManager?manager?=?(NotificationManager)?getSystemService(【【微信】】.NOTIFICATION_SERVICE);

?//?创建一个Notification

Notificatio【【微信】】?=?new?Notification();

?//?设置显示在手机最上边的状态栏的图标

【【微信】】.icon?=?R.drawable.ic_donga;

//?当当前的【【微信】】被放到状态栏上的时候,提示内容

【【微信】】.tickerText?=?"您已成功升级为VIP用户!";

//添加声音提示

【【微信】】.defaults?=?Notification.DEFAULT_SOUND;

//让通知点击消失的按钮

【【微信】】.flags?|=?Notification.FLAG_AUTO_CANCEL;

Intent?intent?=?new?Intent(【【微信】】ty.this,?【【微信】】.class);

PendingIntent?pendingIntent?=?PendingIntent.getActivity(【【微信】】ty.this,?0,?intent,?PendingIntent.FLAG_ONE_SHOT);

?//?点击状态栏的图标出现的提示信息设置

【【微信】】.setLatestE【【微信】】(【【微信】】ty.this,?"缤购提示",?"您已经成功升级为VIP用户,使用期限"+useTime+"天!",?pendingIntent);

manager.notify(1,【【微信】】);

6)String?sDest=URLDecoder.decode(couponsContent.getContent(),?"utf-8");

//没有执行【【淘密令】】所以无值

kuaicanWebview.【【微信】】().setDefaultTextEncodingName("UTF-8")?;

kuaicanWebview.【【微信】】(null,sDest,"text/html","UTF-8",null);

7)代码中为控件设置一段简单的动画

Animation?animation?=?new?TranslateAnimation(one*currIndex,?one*arg0,?0,?0);//显然这个比较简洁,只有一行代码。

animation.setFillAfter(true);//?True:图片停在动画结束位置

animation.setDuration(300);

imageView.【【微信】】imation);

8)列表dialog的设置

new?AlertDialog.Builder(this).setTitle("报错选择")

.setItems(

new?String[]?{"电话报错","地址报错","地图位置报错"?},?//列表内容

new?DialogInterface.OnClickListener()?{//点击监听

@Override

<【【微信】】?void?onClick(

DialogInterface?dialog,?int?which)?{//点击位置

}})

?.setNegati【【微信】】("确定",?null)

?.show();

9)根据经纬度算距离

<【【微信】】?【【微信】】?double?distanceByLngLat(double?lng1,?double?lat1,?double?lng2,double?lat2)?{

double?radLat1?=?lat1?*?Math.PI?/?180;

double?radLat2?=?lat2?*?Math.PI?/?180;

double?a?=?radLat1?-?radLat2;

double?b?=?lng1?*?Math.PI?/?180?-?lng2?*?Math.PI?/?180;

double?s?=?2?*?Math.asin(Math.sqrt(Math.pow(Math.sin(a?/?2),?2)

+?Math.cos(radLat1)?*?Math.cos(radLat2)

*?Math.pow(Math.sin(b?/?2),?2)));

s?=?s?*?6378137.0;

s?=?Math.round(s?*?10000)?/?10000;

return?s;

}

?

?

?

?

?

10)对返回按钮的两种监听方式

(1)?@Override

<【【微信】】?void?onBackPressed()?{

//?TODO?Auto-generated?method?stub

super.onBackPressed();

}

(2)?【【微信】】?boolean?onKeyDown(int?【【微信】】,?KeyEvent?event)?{

if?(【【微信】】?==?KeyEvent.【【微信】】)?

{}}

11)

?XActi【【微信】】?【【微信】】?=?(XActi【【微信】】)pare【【微信】】fo?coupon?=(NotificationInfo)【【微信】】.【【微信】】(postion);//主要方法

12)设置activity的横屏和竖屏?

android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)