Smarty テンプレート内でPHPを実行する
SmartyはPHP のためのテンプレートエンジンです。
Smarty テンプレート内でPHPを実行する
SmartyはPHP のためのテンプレートエンジンです。
PowerPoint2007 プレゼンを作る2 中身を作る
Office2007
リスト、項目名など、ただ字で書くだけだとアピールがありません。
そういうテキストなどにグラフィックなアピール効果をつけるのが、SmartArt…らしいです。
Microsoft Office Excel 2007、Microsoft Office PowerPoint 2007、Microsoft Office Word 2007、および Microsoft Office Outlook 2007 の電子メール メッセージで SmartArt グラフィックを作成できます。それ以外の 2007 Office リリース のアプリケーションでは SmartArt グラフィックは作成できませんが、SmartArt グラフィックを画像としてこれらのアプリケーションにコピーや貼り付けることができます。
Skypeは便利で、しかもただですが、普通の設定で利用していると、登録リストに登録している友人・知人・取引先がログインするたびに、ポップアップで知らせてくれるのは若干うっとうしいですよね。
これをOFFにする方法です。
Windows トラブル解決
WindowsXP
Shiftキーを8秒以上押していると、
「フィルタキー機能右Shiftキーが8秒間押されていたため、フィルタキー機能がオンになりました。この機能により、ユーザーがキーをすばやく押したり繰り返し押したりしても、そのキー入力は無視されます。フィルタキーをオンにするには[OK]をクリックしてください。フィルタキーを取り消すには、[キャンセル]をクリックしてください。フィルタキーのキーの組み合わせを無効にするには、[設定]をクリックしてください。」
というような表示がされて、OKを押してもキャンセルを押してもその後の動作がすべてShiftキーを押した状態のような操作になる場合があります。
左Shiftキーを押すことで、解決できるようです。(なんのこっちゃ)
Androidで、バックグラウンドで動かしたり、長い時間がかかる処理をさせたり、待機させたりする動作はService(サービス)で動作させます。
たとえば、一時的に何かの情報が取得できないんだけど、何か情報が取得できたら、動かしているActivityの画面に表示したり、Activityの値を書き変えたい、ということはよくあると思います。
サービスは、Activityの裏で動いているので、一工夫しないとActivityを操作できません。
ちなみに、この方法はReceiver(レシーバー)でも使えます。
ここでは、一番簡単なサービスからActivytyに値を投げる方法を書いておきます。
以下、やり方です。
Handlerというものを使います。
Handlerが色々な値を、サービスやレシーバーからActivityに渡してくれます。
/* Activity内 */ public class MainActivity extends Activity { private UpdateReceiver upReceiver; private IntentFilter intentFilter; private TextView message_tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Context context = this; Intent update_service = new Intent(context , UpdateService.class); startService(update_service); upReceiver = new UpdateReceiver(); intentFilter = new IntentFilter(); intentFilter.addAction("UPDATE_ACTION"); registerReceiver(upReceiver, intentFilter); upReceiver.registerHandler(updateHandler); message_tv = (TextView)findViewById(R.id.message_tv); } // サービスから値を受け取ったら動かしたい内容を書く private Handler updateHandler = new Handler() { @Override public void handleMessage(Message msg) { Bundle bundle = msg.getData(); String message = bundle.getString("message"); Log.d("Activityの名前", "はんどらーだよ" + message); message_tv.setText(message); } }; }
/* Service内*/ public class UpdateService extends Service { private Handler handler; private UpdateService context; @Override public int onStartCommand(Intent intent, int flags, int startid) { super.onStartCommand(intent, flags, startid); Log.d("UpdateService", "サービススタート"); sleep(4000); String message = "さーびすからのメッセージ"; sendBroadCast(message); return START_STICKY; } public void registerHandler(Handler UpdateHandler) { handler = UpdateHandler; } @Override public IBinder onBind(Intent arg0) { // TODO Auto-generated method stub return null; } public synchronized void sleep(long msec) { try { wait(msec); } catch (InterruptedException e) { } } protected void sendBroadCast(String message) { Intent broadcastIntent = new Intent(); broadcastIntent.putExtra("message", message); broadcastIntent.setAction("UPDATE_ACTION"); getBaseContext().sendBroadcast(broadcastIntent); } }
/* Receiver内*/ public class UpdateReceiver extends BroadcastReceiver { public static Handler handler; @Override public void onReceive(Context context, Intent intent) { Bundle bundle = intent.getExtras(); String message = bundle.getString("message"); if(handler !=null){ Message msg = new Message(); Bundle data = new Bundle(); data.putString("message", message); msg.setData(data); handler.sendMessage(msg); } } /** * メイン画面の表示を更新 */ public void registerHandler(Handler locationUpdateHandler) { handler = locationUpdateHandler; } }
AndroidManifest.xmlにサービスを書いておかないと、サービスが動きません。
エラーも出ないので、これは失敗しやすいポイントですね。
/* AndroidManifest.xml内 <application>タグ内に記述 */ <service android:name=".UpdateService"/>
全部のサンプルコードはこちらで公開しています。
https://github.com/onlineco/serviceStudy/tree/0243c7ce917bc3f077e4fd54952f7fec22b6cb65