2016年12月25日日曜日

PDOでMySQLデータベースに接続

PDOでMySQLデータベースに接続

(1)データベースに接続する
new PDO() コマンドを使ってデータベースに接続します

<?php
$dbname = "db_test"
$usrname = "ユーザー名"
$password = "パスワード"
$hostname = "localhost:3306"

try {
$pdo = new PDO('mysql:host=$hostname;dbname=$dbname;charset=utf8',$username,$password,
array(PDO::ATTR_EMULATE_PREPARES => false));
} catch (PDOException $e) {
 exit('データベース接続失敗。'.$e->getMessage());
}
?>

(2)データベースからデータを検索
pdoでqueryメソッドを使う

$stmt = $pdo->query("SELECT * FROM m_user ORDER BY ID ASC ");
while($row = $stmt -> fetch(PDO::FETCH_ASSOC)) {
$id = $row["id"];
$no = $row["no"];
$name = $row["name"];
$price = $row["price"];
}

2016年12月22日木曜日

Macでコマンドラインからファイルを検索

Macでコマンドラインからファイルを検索するには、mdfindを使います。

% mdfind filename

% mdfind filename1 filename2

検索ディレクトリを指定するときは、 -onlyinオプションを使います
% mdfind -onlyin filename1 ./

拡張子を指定する事も出来ます。
% mdfind -onlyin ./Documents .pdf

2016年12月18日日曜日

Mac で .DS_Store ファイルを作らないようにする

Macで作業していて、Finderでフォルダを開くと DS_STORE ファイルが生成されます。
他のWindowsPCと共有しているディスクなどで、WindowsPCからはDS_Storeファイルが見えてしまい、不都合があることがあります。


(1).DS_Storeファイルが生成されないようにする

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

これで .DS_Storeファイルが生成されなくなります。


(2)生成された .DS_Store ファイルを削除する

find Desktop/対象となるディレクトリ名 -name ".DS_Store" -print -exec rm {} ";"

これで、過去の生成された .DS_Store ファイルが削除されます。

2016年12月12日月曜日

Android SQLiteデータベースからデータを取得する

Android SQLiteデータベースからデータを取得するには次のようにします。

Cursor mCursor;
FinanceOpenHelper helper = new FinanceOpenHelper(getApplicationContext());
SQLiteDatabase mDB = helper.getReadableDatabase();

/** カラム名 (取得するカラム名)*/
String[] columns = {"_id","kind","name","price","date"};

/** Where句 */
String where = "";

/** Where句 */
String[] where_args = {""};

/** Having句 */
String having = null;

/** GROUP_BY 句 */
String group_by = null;

/** ORDER BY 句 */
String order_by = "age";

/** 検索処理実行 */
mCursor = mDB.query("finance", columns, where, where_args ,group_by, having,order_by);

while(mCursor.moveToNext()) {
/** 1カラムずつデータを取得して変数に入れる */
}

2016年12月7日水曜日

AndroidでSQLiteデータベースを使用する場合

AndroidでSQLiteデータベースを利用する場合は、
SQLiteOpenHelperクラスを継承したクラスを作ります。

public class TestDBOpenHelper exntends SQLiteOpenHelper {
   
    /** データベースのバージョン */
    private static final int DB_VERSION = 1;

    public TestDBOpenHelper(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }

    /** データベース生成時の処理が書かれます */
    @Override
    public void onCreate(SQLiteDatabase db) {
    }

    /**  データベースアップグレード時 */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}


データベースを利用する時は、

TestDBOpenhelper helper = new Test
SQLiteDatabase db = new TestDBOpenHelper(context).getRead

として利用します。

2016年12月3日土曜日

Androidでのダイアログの出し方

Androidでダイアログを出す時は次のようにします。

private void showAlertDialog(String title, String message) {

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(title); // タイトルを設定します
builder.setMessage(message); // メッセージを設定します
builder.setPositiveButton("はい", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/*
* はいが押された時の処理をここ書きます。
*/
}
});

builder.setNegativeButton("いいえ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/*
* いいえが押された時の処理をここ書きます。
*/
}
});
builder.show();
}

2016年11月28日月曜日

Android フルスクリーンにする方法

Androidでフルスクリーン表示するには、Activityが生成された直後の行で次のように記述します。

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);


package jp.mobaroid.TestApp;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

public class TestActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.main);
    }
}

2016年11月23日水曜日

MySQLでのデータベース名変更方法 XAMPP編

1.XAMPPを起動して、左側の データベース名をクリックします

2.上にある「操作」を選びます

3.「Copy database to:」で入力欄に、新しいデータベース名を入力します。
・構造とデータを選択して、「実行」を押します。
 
 新しいデータベースが作成されて、前のデータベースからコピーが行われるようです。

4.データが新しいデータベース名でコピーされました

5.新しいデータベースが出来たのを確認してから、古いデータベースを削除します。

2016年3月12日土曜日

Cocos2d-xでクラスファイルを追加した時

・Cocos2d-xでクラスファイルを追加した時

android.mk のLOCAL_SRC_FILESという項目にファイル名を追加します


LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

LOCAL_SRC_FILES := hellocpp/main.cpp  \
../../Classes/AppDelegate.cpp  \
../../Classes/MainScene.cpp  \
../../Classes/TitleScene.cpp  \

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes

# _COCOS_HEADER_ANDROID_BEGIN
# _COCOS_HEADER_ANDROID_END


LOCAL_STATIC_LIBRARIES := cocos2dx_static

# _COCOS_LIB_ANDROID_BEGIN
# _COCOS_LIB_ANDROID_END

include $(BUILD_SHARED_LIBRARY)

$(call import-module,.)

# _COCOS_LIB_IMPORT_ANDROID_BEGIN
# _COCOS_LIB_IMPORT_ANDROID_END

2016年1月20日水曜日

Androidで画像読み込み時に勝手に拡大されないため

Androidで画像読み込み時に、勝手に拡大される事があります。
それを防ぐために、 BitmapFactory.Options で inScaled = false を設定します

// ビットマップの読み込み
private Bitmap readBitmap(Context context, String name) {
    int resID=context.getResources().getIdentifier(
            name,"drawable",context.getPackageName());

    BitmapFactory.Options opt = new BitmapFactory.Options();
    opt.inScaled = false;
    return BitmapFactory.decodeResource(
            context.getResources(),resID, opt);
}

2016年1月19日火曜日

AndroidでAssetsフォルダのリソースを読み込む

AndroidでAssetsフォルダのリソースを読み込むサンプルを書いてみました

public ArrayList<String> loadData() {

ArrayList<String> array_data = new ArrayList<String>();
String fileName = String.format("data.csv");
AssetManager am = this.getResources().getAssets();
InputStream is = null;
BufferedReader br = null;
String str = ""; // ファイルから読み込んだテキスト

try {
try {
// assetsフォルダ内のファイルをオープンする
is = am.open(fileName);
br = new BufferedReader(new InputStreamReader(is));

while((str = br.readLine() != NULL) {
// 1行ずつ読み込んで追加する
array_data.put(str);
}
} finnaly {
if(br != null) br.close();
if(is != null)  is.close();
}
} catch (FileNotFoundException e) {
return null;
} catch (IOException e) {
return null;
}

return array_data;
}

2016年1月17日日曜日

Cocos2d-x 画面の縦長固定・横長固定

1.iPhoneアプリ
General -> Deployment Infoをクリック
Device Orientationを編集します

・縦長固定の場合 Portrait をクリック
・横長固定の場合 Landscape Left、Landscape Rightのどちらかをクリック

2.Androidアプリ
Android Studioを開きます。

app/manifests/AndroidManifest.xmlを編集します

<activity>の中に、縦長固定の場合は、android:screenOrientation="portrait" とします。
横長固定の場合は、android:screenOrientation="landscape" とします。

2016年1月13日水曜日

Android Studioでリソース用にAssetsフォルダを追加する

Android Studioでリソース用にAssetsフォルダを追加する

CSVデータなどの置き場所として、AndroidアプリではAssetsフォルダを使用するケースが多いです。
Android StudioでAssetesフォルダを追加するには、

File -> New -> Folder -> Assets Folder

で追加します。

2016年1月8日金曜日

Cocos2d-x プロジェクトの作成

Cocos2d-x プロジェクトの作成

プロジェクの作成

% cocos new TestGame -p jp.mobaroid.TestGame -l cpp -d ~/workspace

ビルドと実行

% cocos run -s ~/workspace/TestGame -p ios
% cocos run -s ~/workspace/TestGame -p android

引数の意味
・-s : プロジェクトのディレクトリ
・-p : ビルドするプラットフォーム ios、androidなど

最初に実行する場合、色々なリンクファイルがあるので10分くらいかかる事もあります。