アプリ開発日記
2013年4月19日 22時41分19秒 (Fri)
SWキーボードを非表示にする
GPSの活用で作成したサンプルアプリでは文字の入力用にEditTextを使用しました。
この場合、アプリ起動時にSWキーボードが表示されてしまいます。
今回はこれを非表示にするためには、以下のコードをActivityのonCreate()に追加します。
this.getWindow().setSoftInputMode (LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
この場合、アプリ起動時にSWキーボードが表示されてしまいます。
今回はこれを非表示にするためには、以下のコードをActivityのonCreate()に追加します。
this.getWindow().setSoftInputMode (LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
2013年4月19日 21時45分36秒 (Fri)
GPSの活用
GPSを利用するためのアンドロイドサンプルコードを作成してみたいと思います。GPSを利用するためにはまず、AndroidManifest.xmlに以下のコードを追加する必要があります。
<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" />
次に、添え付け図面のような画面のレイアウトを想定した場合のアクティビティを記載します。
これでGPSの値を取得して画面に表示します。
GPSの値は、端末が移動するとリアルタイムに変更されるので、更新ボタンを用意して値を更新したり、自動で更新されるようにもできます。
(この場合はonLocationChangedで画面表示を更新します)
public class MainActivity extends Activity implements LocationListener{
private TextView ido_txt;
private TextView kei_txt;
private TextView kou_txt;
private TextView sei_txt;
private LocationManager mLocationManager;
public Location now_location;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ido_txt = (TextView)findViewById(R.id.txt_4);
kei_txt = (TextView)findViewById(R.id.txt_6);
kou_txt = (TextView)findViewById(R.id.txt_8);
sei_txt = (TextView)findViewById(R.id.txt_10);
//GPS関連
mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
final String provider = mLocationManager.getBestProvider(criteria, true);
now_location = mLocationManager.getLastKnownLocation(provider);
mLocationManager.requestLocationUpdates(provider, 0, 0, MainActivity.this);
displayLocation(now_location);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onLocationChanged(Location location) {
// TODO 自動生成されたメソッド・スタブ
// TODO 自動生成されたメソッド・スタブ
now_location = location;
displayLocation(now_location);
}
@Override
public void onProviderDisabled(String provider) {
// TODO 自動生成されたメソッド・スタブ
}
@Override
public void onProviderEnabled(String provider) {
// TODO 自動生成されたメソッド・スタブ
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO 自動生成されたメソッド・スタブ
}
private void displayLocation(final Location location){
if(location==null){
final String non_loc_string="no location data";
ido_txt.setText(non_loc_string);
kei_txt.setText(non_loc_string);
kou_txt.setText(non_loc_string);
sei_txt.setText(non_loc_string);
return;
}
ido_txt.setText(Double.toString(location.getLatitude()));
kei_txt.setText(Double.toString(location.getLongitude()));
kou_txt.setText(Double.toString(location.getAltitude()));
sei_txt.setText(Double.toString(location.getAccuracy()));
}
}
最近の記事一覧
カテゴリー
アーカイブ
2013年
携帯用QRコード