PHP で リクエストされた何かを知る

FTPだけのサーバで, WEBのログがリアルタイムにみれないのでファイルに吐く.

<?php
$input = file_get_contents('php://input');

ob_start();
var_dump($_SERVER);
var_dump($_GET);
var_dump($_POST);
$log = ob_get_contents();
ob_end_clean();

$log .= $input;
file_put_contents('log.txt', $log, LOCK_EX);

raw_data の取得と出力バッファからの文字列取得.

組み合わせを変えればアレコレとれる.

あと, APPEND していくとか.


Related Categories :  Developmemt


Intent を投げる前にするとよいメモ

Lollipop 純正デフォルトでは, Chrome が標準でブラウザはこれひとつ.

Chromeをアンインストールすると暗黙的インテントで行き場所がなく落ちていた.

...
Uri uri = Uri.parse("http://www.yahoo.com/");
Intent i = new Intent(Intent.ACTION_VIEW,uri);
startActivity(i);
...

Intent.ACTION_VIEW てそんなに拾われないのか, などと思ったが.

あらかじめ, 投げる前にチェックしておくといいのか.

...
public static boolean isIntentAvailable(Context ctx, Intent intent) {
  final PackageManager mgr = ctx.getPackageManager();
  List<ResolveInfo> list =
    mgr.queryIntentActivities(intent, 
      PackageManager.MATCH_DEFAULT_ONLY);
  return list.size() > 0;
} 
...

あと, startActivityForResult() から呼ばれるActivityの終了.

...
@Override
public void finish() {
  Intent data = new Intent();
  data.putExtra("return1", "XXX");
  data.putExtra("return2", "YYY");
  setResult(RESULT_OK, data);
  super.finish();
} 
...

finish()を上書きしておくとスッキリする.


Related Categories :  AndroidDevelopmemt


「ARC Welder」て結構つかえるのでビビた

アプリひと通りやってみたけど, 思ったより動く.

音声も出力される.

Facebook

Twitter

Speedtest

AJ_English

Quickoffice

Translate

はてなブックマーク

Flappy_Bird

まあ, 落ちるアプリもあるけど.

radiko_jp_for_Android

エミュレータより早く起動できるような.

Getting Started with ARC - Google Chrome


Android の タッチイベント とか

今や重なりあったアクション付きのUIが流行りとなり, 当然「タッチイベント」も重なり合ってくるわけでのメモ.

devsbuild_it_sites_default_files_PRE_andevcon_mastering-the-android-touch-system_pdf

andevcon_mastering-the-android-touch-system.pdf

「親から子(背面から前面)に伝わっていく」ので, activity → view.

Android のタッチイベントを理解する(その1) - Unmotivated

なので, 早めに捉えると範囲が広く, 遅めに捉えると限定的で実装手間も少なくできる.

Android: Difference between onInterceptTouchEvent and dispatchTouchEvent? - Stack Overflow

親で伝搬を止める.

...
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    boolean response = super.onInterceptTouchEvent(event);
    float x = event.getX();
    switch (event.getActionMasked()) {
    case MotionEvent.ACTION_DOWN:
        mTouchX = x;
        break;
    case MotionEvent.ACTION_MOVE:
        float dX = Math.abs(x - mTouchX);
        if (dX > minSwipeDistance)
            return true;
        break;
    }
    return response;
}
...

子から伝搬を止めるのをやめさせる.

...
findViewById(R.id.button)
    .getParent()
    .requestDisqllowInterceptTouchEvent(true);
...

ほとんどのユーザからのイベントは重なっていることを実感するなど.

Correctly detecting a swipe on a GridView placed inside a ViewPager in Android - Stack Overflow


【急げ!!】Google Play 「500円コードをプレゼント」実施中!

今すぐメールを確認すべし!!

このEメールを受け取った方に、Google Play で今すぐ書籍も買える 500 円のお試しコードをプレゼントいたします。「コードを入手」ボタンを 4 月 4 日(土)までに押して 500 円コードを手に入れよう。

受信トレイ

Google_Play

なんだかいろんなキャンペーンでお金が溜まってきたけど, 買うものがない.

ある?