2013年4月27日土曜日

休日バイトに出勤ですっ!

金曜担当だけども気づいたら土曜日だったので土曜日に投稿してみるEsterです。
最近、ブログを投稿する際にはhtml・リッチテキスト形式で送ってやれば、添付画像の位置を任意の場所にできることを知りました。


土曜日の午前中のシフトをもらっちゃったんで今は1号館PC教室に待機してるところです。

ここまではwi-fi環境無いんですねー……

正直なところ 14号館まで 新しい FU Wi-Fi を伸ばしてもらいたいと切に願っています。





そんなこんなでできました。


なにいってるんだ?っておもうでしょー?

これ、タブ切り替えても終了しないバージョンですっ!

MainのUIから別クラスにonCreateViewでマップフラグメントを返してもらってるわけじゃないんですよねー。


とりあえず体験版?じゃないけど、研究室に置いてあるHTCの端末にインスコしておきますね!
ただ、想定しているAndroidのバージョンがICS〜なんで、4.0.3のほうに。


これからピン立て(マーカー)しようと思ってるんですが手順としては

  1. GoogleMapのインスタンスを生成
  2. MapFragment.getMap()でマップ(レイアウト)をGoogleMapいんすたコード内に取り入れる
  3. GoogleMap.addMarker(MarkerOption option)でoptionに設定してある緯度経度・タイトルなどを突っ込む
  4. おしまい

って感じです。 とりあえずonResume()の中に2を入れてみて実機でまわしたらエラー落ちしちゃった。 しかもエラー場所が2だったですしおすし。


どしよー…。とりあえずactionBar使って、タブ切り替えで落ちないようにするところまでは進んだし、一応…前進だよね……?

とりあえずソースコード。字下げが反映されない点については知らない。
_______________________________________
MainActivity.java

package com.gmail.okkun_lab.yacho;

//野帳アプリサンプルver0.2.1


//更新内容

/*

 * TabActivityではなくfragmentを使うタブページ(ActionBar)

 * Tabのページ要素にマップを追加(MapFragment)⬅ここまでver0.2.1

 */

import com.google.android.gms.maps.GoogleMap;

import com.google.android.gms.maps.MapFragment;


import android.os.Bundle;

import android.app.ActionBar;

import android.app.ActionBar.Tab;

import android.app.ActionBar.TabListener;

import android.app.Activity;

import android.app.FragmentTransaction;


import android.view.Menu;


public class MainActivity extends Activity {


MapFragment mMapFragment;

ActionBar mActionBar;

GoogleMap mMap;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mActionBar = getActionBar();

mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);//ここでActionBarをタブのモードにしちゃう

TabListener tabListener = new ActionBar.TabListener(){

@Override

public void onTabSelected(Tab tab, FragmentTransaction ft){

//Map のタブが選択されたとき

if(tab.getText().equals("Map")){

if(mMapFragment == null){

//マップのインスタンスが無かったら

mMapFragment = MapFragment.newInstance();

ft.add(android.R.id.content,mMapFragment,"Map");//マップのインスタンスを突っ込む

}else{

ft.attach(mMapFragment);//有るなら付け加える

}

}else{

//別のフラグメントを突っ込む用

}

}


@Override

public void onTabReselected(Tab tab, FragmentTransaction ft) {

// TODO 自動生成されたメソッド・スタブ

}


@Override

public void onTabUnselected(Tab tab, FragmentTransaction ft) {

// TODO 自動生成されたメソッド・スタブ

//選択されなかったタブがマップだったら

if(tab.getText().equals("Map")){

//んで、マップフラグメントのインスタンスが既にあったら

if(mMapFragment != null){

//FragmentTransactionからマップフラグメントのインスタンスをはずす

ft.detach(mMapFragment);

}else{

//選ばれなかったタブがマップじゃなかったとき  他のフラグメントをトランザクションから外す用

}

}

}

};

mActionBar.addTab(mActionBar.newTab().setText("なにか")

.setTabListener(tabListener));

mActionBar.addTab(mActionBar.newTab().setText("Map")

.setTabListener(tabListener));

}


@Override

protected void onResume(){

super.onResume();

//mMap = mMapFragment.getMap();

}

@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;

}


}

_______________________________________
AndroidManifest.xml   こっちだけ字下げが反映された不思議

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.gmail.okkun_lab.yacho"

    android:versionCode="1"

    android:versionName="1.0" >


    <uses-sdk

        android:minSdkVersion="14"

        android:targetSdkVersion="17" />


    <permission 

        android:name="com.gmail.okkun_lab.yacho.MainActivity"

        android:protectionLevel="signature"

        ></permission>

    <!-- カメラへのアクセス -->

    <uses-permission android:name="android.permission.CAMERA"></uses-permission>

    <uses-feature android:name="android.hardware.camera"></uses-feature>

    <uses-feature android:name="android.hardware.camera.autofocus"></uses-feature>

    

    <!-- 外部SDカードへの書き込み -->

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- 位置情報の取得 (Wi-Fi経由) -->

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

    <!-- 位置情報の取得 (GPS経由) -->

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <!-- インターネット接続関係パーミッション -->

    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <!-- Google API へのアクセス -->

    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

    <!-- openGL使うとかなんとかのやつ-->

    <uses-feature

        android:glEsVersion="0x00020000"

        android:required="true" />

    

    <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <!-- Google android maps API key -->

        <meta-data

            android:name="com.google.android.maps.v2.API_KEY"

            android:value="@string/MapKey" /><!-- ⬅あなたのキーでどうぞっ!-->

        <activity

            android:name="com.gmail.okkun_lab.yacho.MainActivity"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>


</manifest>


_______________________________________
あぁー…今週はもう仕事したわぁー(棒)
これで29日までの進捗報告ってことでっ! (ぉぃ


といっておけば保険になる気がしますた。
とりあえずバイトの暇な時間に弄くり回すんですけどもねっ!
(それで進んだらそれまでを進捗にしちゃえばいいか⬅

0 件のコメント:

コメントを投稿