『壹』 android設計界面時控制項有多種排列方法,其中常用布局方式有
在android中我們常用的布局方式有這么幾種:LinearLayout (線性布局),RelativeLayout (相對布局),TableLayout (表格布局),AbsoluteLayout (絕對布局),FrameLayout (幀布局)。LinearLayout 和 RelativeLayout 應該又是其中用的較多的兩種。AbsoluteLayout 比較少用(我自己還沒用過),因為它是按屏幕的絕對位置來布局的如果屏幕大小發生改變的話控制項的位置也發生了改變。這個就相當於HTML中的絕對布局一樣,一般不推薦使用。LinearLayout 顧名思義就是一條條的將控制項布置下去,線性布局分為水平線性和垂直線性二者的屬性分別為
android:orientation="horizontal" android:orientation="vertical" 。xmlns:android="http://schemas.android.com/apk/res/android" 很多人對這個感到困惑,其實它就是一個命名空間。RelativeLayout 相對布局。裡面的每個控制項之間的關系都是相對的。如果不設置相對關系的話默認擺放在屏幕左上角。重要屬性如下:
android:layout_toRightOf="@id/city" :與id為city的控制項的右邊對齊。
android:layout_alignTop="@id/city" : 與id為city的控制項的頂部對齊。
給出示意圖如下所示:
android:layout_width="fill_parent" android:layout_height="wrap_content" 我一般在線性布局裡面套相對布局,這時候需要注意上面兩個屬性相對布局的寬度可以設置為填充父控制項,但是高度一般不要設置為填充父控制項因為這樣的話我想在相對布局外面在放控制項就沒有效果了因為屏幕已經被相對布局全部占據。
不管是用什麼布局,寬度與高度這兩個屬性一定要弄清楚剛開始的時候我經常會發現有些控制項沒顯示在界面上或者占據了整個屏幕,一檢查原來是這里設置錯了。還有不要忘記這兩個屬性在一般控制項中都是不可或缺的,忘記設置的話就會報錯。
『貳』 android如何獲取地理位置
三種方式進行定位,獲取用戶位置,分別是基於基站定位, 網路定位,GPS定位。
1.基站定位(passive):這是基於網路基站進行定位的,定位的精確度在幾十米到幾千米不等,在城市中基站覆蓋率比較高,推薦使用基站定位,如果是在郊區,基站相距較遠,基站的覆蓋沒有城裡好,定位的誤差比較大。如果在郊區不推薦使用基站定位。
2.網路定位:wifi定位,網路定位
3.GPS定位:與衛星進行通信。手機中嵌入了GPS模塊(精簡版的A-GPS),通過A-GPS搜索衛星, 獲取經緯度。使用GPS的弊端是:必須站在空曠的地方,頭頂對著天空,如果雲層厚了,也會受到一定的影響。精確度:10-50米
擴展知識:
使用Android是定位必備的許可權:
< uses-permission android:name= " android.permission.ACCESS_FINE_LOCATION " /> //精確定位
<uses-permission android:name= "android.permission.ACCESS_MOCK_LOCATION" /> //模擬器
<uses-permission android:name= "android.permission.ACCESS_COARSE_LOCATION" /> //粗糙定位
//獲取定位管理對象
LocationManager lm=(LocationManager)getSystemService(LOCATION_SERVICE);
String[] names=lm.getAllProviders();//獲取所有的位置提供者,一般三種
Criteria criteria=new Criteria();//查詢條件,如果設置了海拔,則定位方式只能是GPS;
criteria.setCostAllowed(true);//是否產生開銷,比如流量費
String provider=lm.getBaseProvider(criteria,true)//獲取最好的位置提供者,第二個參數為true,表示只獲取那些被打開的位置提供者
lm.requestLocationUpdates(provier,0,0,new LocationListener(){});//獲取位置。第二個參數表示每隔多少時間返回一次數據,第三個參數表示被定位的物體移動每次多少米返回一次數據。
private class MyLocationListener implements LocationListener {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
@Override
public void onLocationChanged(Location location) {
System. out.println( "服務中位置監聽發送了變化了" );
float accuracy = location.getAccuracy(); // 精確度
double altitude = location.getAltitude(); // 海拔
double latitude = location.getLatitude(); // 緯度
double longitude = location.getLongitude(); // 經度
String locationInfo = "jing:" + longitude + ",wei:" + latitude + ",haiba:" + altitude + ",jingque:" + accuracy;
Editor edit = sp.edit();
edit.putString( "location", locationInfo);
edit.commit();
}
} public void onProviderDisabled(String provider) {
}
『叄』 Android默認的程序安裝位置在哪
優先安裝手機儲存里,凱仿可以移動的也要先安裝到手機內存,再移動到內存卡。
如果用豌豆莢安裝的話,可以選擇安裝位置,可以強制安裝到SD卡,一般大內存的手機默認是安裝到手機內存。
因為安裝到SD卡對於大內存手機比較費電,而且一般4.0系統不支持安盯神纖裝到SD卡,主要看刷的什麼類型的系統了,可以到設置,程序裡面取看,可以移動就可以移動,不能移動的就沒辦法了。
『肆』 android中有幾種布局技術,各自優缺點
在4.0以前版本中一共有五種布局,都是ViewGroup的子類。分別是AbsoluteLayout、RelativeLayout、LinearLayout、FrameLayout、TableLayout。而TableLayout是LinearLayout的子類。(中文分別是:絕對布局、相對布局、線性布局、幀布局、表格布局)。
在2.2操作系統中將AbsoluteLayout過期。而目前FrameLayout、TableLayout也逐漸少用。
在4.0之後又新增GridLayout。(GridLayout最經典的案例是計算器界面)
總之,Android中一共有六種布局。目前推薦使用RelativeLayout、LinearLayout、GridLayout三種布局。
一般簡單的布局就用LinearLayout,復雜點的用RelativeLayout(可以防止多層嵌套),像FrameLayout,裡面的控制項是重疊的,AbsoluteLayout裡面控制項位置是絕對的,在屏幕適配方面就不行了。