YouTube「HTML5 3D ハードウェアを検出できない」とか言い出す。

などと言い出して困る。

BitTorrent_Sync_vs__Dropbox_-_YouTube

ダイアログ上の「3D 表示モードを変更」をクリックしたら、その広告サイトに飛ばされて、新手のインチキ誘導広告かと思いました。

よくみると、上のほうにリンクがあったが、以下にて「表示方法」というやつを変えればよし、と。

YouTube

YouTube HTML5 動画プレーヤー


Related Categories :  NewbieReviewWEB


Mac OSX 10.9 Mavericks で「ログイン項目」が保存されず消える場合

OS起動時に、設定したアプリを自動起動する「ログイン項目」。

システム環境設定>ユーザとグループ>ログイン項目

スクリーンショット_2014_01_29_12_51

ここに登録設定していたアプリがOS起動時に起動されず、上の画像のリストに保存されずに消えていた。

いくつか、対応方法はあるようです。

ログイン項目がすべて消える | Apple サポートコミュニティ ログイン項目がすべて消える | Apple サポートコミュニティ

とりあえずトラブルシューティング | Apple サポートコミュニティ とりあえずトラブルシューティング | Apple サポートコミュニティ

他にもいくつか対処法を書いているページはありましたが、大体この2つの方法です。

OSがらみの設定ファイルを手動で削除するのはなんとなくいやなので、2つ目の方法でやってみました。

続きを読む >>


AsyncTaskLoader の使い方 (8/8) 〜 Loader の弱点を克服する

AsyncTaskLoader___Android_Developers

AsyncTaskLoader | Android Developers


目次

1. Thread と AsyncTask
2. AsyncTaskLoader の利点
3. LoaderManager の利用
4. よくある間違いと回避法
5. 基本的な Loader の実装
6. いろいろな Loader の使用例
7. データベースと CursorLoader
8. Loader の弱点を克服する


8. Loader の弱点を克服する

1. 進捗状況(progress)の更新ができない。

対応策:
LocalBroadcastManager を使う。

Activity 側。

@Override 
protected void onStart() { 
    // Receive loading status broadcasts in order to update the progress bar 
    LocalBroadcastManager.getInstance(this)
        .registerReceiver(loadingStatusReceiver, new IntentFilter(MyLoader.LOADING_ACTION)); 
    super.onStart(); 
}

@Override 
protected void onStop() { 
    super.onStop(); 
    LocalBroadcastManager.getInstance(this).unregisterReceiver(loadingStatusReceiver); 
}

Loader 側。

@Override 
public Result loadInBackground() { 
    // Show progress bar 
    Intent intent = new Intent(LOADING_ACTION).putExtra(LOADING_EXTRA, true); 
    LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); 
    try {
        return doStuff(); 
    } finally { 
        // Hide progress bar 
        intent = new Intent(LOADING_ACTION).putExtra(LOADING_EXTRA, false); 
        LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); 
    } 
}

続きを読む >>


AsyncTaskLoader の使い方 (7/8) 〜 データベースと CursorLoader

AsyncTaskLoader___Android_Developers

AsyncTaskLoader | Android Developers


目次

1. Thread と AsyncTask
2. AsyncTaskLoader の利点
3. LoaderManager の利用
4. よくある間違いと回避法
5. 基本的な Loader の実装
6. いろいろな Loader の使用例
7. データベースと CursorLoader
8. Loader の弱点を克服する


7. データベースと CursorLoader

CursorLoader は ContentProviders 照会専用のローダです

結果としてデータベースカーソルを返す。

AsyncTaskLoaderを継承したバックグランドスレッドでデータベースクエリーを実行します。

Acitivityのライフサイクルに応じて、Activity.startManagingCursor(Cursor c) やカーソルのライフサイクルの管理を置き換えます。
→ close() は呼ばない。

データベースを監視し、データが変更された新しいカーソルを返します。
→ requery() は呼ばない。

ListFragment内 CursorAdapterでの使い方

@Override 
public Loader<Cursor> onCreateLoader(int id, Bundle args) { 
    return new BookmarksLoader(getActivity(), 
        args.getDouble("latitude"), args.getDouble("longitude")); 
}

@Override 
public void onLoadFinished(Loader<Cursor> loader, Cursor data) { 
    adapter.swapCursor(data); 
    // The list should now be shown. 
    if (isResumed()) { 
        setListShown(true); 
    } else { 
        setListShownNoAnimation(true); 
    } 
}

@Override 
public void onLoaderReset(Loader<Cursor> loader) { 
    adapter.swapCursor(null); 
}

続きを読む >>


AsyncTaskLoader の使い方 (6/8) 〜 いろいろな Loader の使用例

AsyncTaskLoader___Android_Developers

AsyncTaskLoader | Android Developers


目次

1. Thread と AsyncTask
2. AsyncTaskLoader の利点
3. LoaderManager の利用
4. よくある間違いと回避法
5. 基本的な Loader の実装
6. いろいろな Loader の使用例
7. データベースと CursorLoader
8. Loader の弱点を克服する


6. いろいろな Loader の使用例

代わりにグローバルなキャッシュ利用する

public abstract class GlobalCacheLoader<T> extends AsyncTaskLoader<T> { 
    ... 
    @Override 
    protected void onStartLoading() { 
        T cachedResult = getCachedResult(); 
        if (cachedResult != null) { 
            // 結果が利用可能であればすぐに配送
            deliverResult(cachedResult); 
        }
        if (takeContentChanged() || cachedResult == null) { 
            // 最終読み込み時のデータが変更されているか、
            // または、利用不可(null)の場合
            forceLoad(); 
        } 
    } 
    ... 
    protected abstract T getCachedResult(); 
}

データ監視部分

* onContentChanged() 
    Loader が開始されていたら forceLoad()、停止していたら フラグをセット。 
* takeContentChanged() 
    フラグの値を返して、クリアする。 
@Override 
protected void onStartLoading() { 
    if (mResult != null) { 
        deliverResult(mResult); 
    }
    if (takeContentChanged() || mResult == null) { 
        forceLoad(); 
    } 
}

続きを読む >>