10/09/2012

Android : Google Cloud Messaging & PHP ашигласан жишээ

Google Cloud Messaging service -г PHP-тэй хамт ашигласан жишээ мартахаасаа өмнө тэмдэглье гэж бодлоо.
<<<<<<<<<<<<<<<< клиент арр >>>>>>>>>
1-рт
Юуны өмнө Google APIs Console хуудасруу хандаж бүртгүүлээд дараах үйлдлүүдийг хийнэ.
1. Sender ID //бүртгэл хийгдсэнээр идвэхжинэ.
2. API key //бүртгэл хийгдсэнээр идвэхжинэ.
3. Google Cloud Messaging service-г ON болгон тохируулаарай.
Google APIs Console page

2-рт GCM.jar файл нэмэх
Дээрх алхамыг хийж дууссан бол өөрийн үүсгэсэн прожект доо gcm.jar файлыг нэмнэ.
gcm.jar файл нь дараах дир-т байрлана.
YOUR_SDK_ROOT/extras/google/gcm-client/dist

3-рт Manifest файлыг засварлах
//SDK тохируулга

(GCM SDK 8-р хувилбараас эхлэн ашиглах боломжтой.)


 


(my_app_package-өөрийн package нэрийг оруулаарай.)

application-таг дотор доорх тохиргоог нэмээрэй.

4-рт GCMIntentService класс үүсгэх.
package my_app_package;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.util.Log;

import com.google.android.gcm.GCMBaseIntentService;

public class GCMIntentService extends GCMBaseIntentService {
 
    public GCMIntentService() {
        super("SENDER_ID");
    }

    @Override
    public void onRegistered(Context context, String registrationId) {
        Log.w("registration id:", registrationId);
        sendMessage("id:" + registrationId);
    }
 
    @Override
    protected void onUnregistered(Context context, String registrationId) {
        sendMessage("C2DM Unregistered");
    }
 
    @Override
    public void onError(Context context, String errorId) {
        sendMessage("err:" + errorId);
    }
 
    @Override
    protected void onMessage(Context context, Intent intent) {
        String str = intent.getStringExtra("message");
        Log.w("message:", str);
    }
}

5-рт onCreat хэсэгт доорх кодыг нэмэх
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
  GCMRegistrar.register(this, "SENDER_ID");
} else {
  Log.v(TAG, "Already registered");
}

<<<<<<<<<<<<<<<< сервер арр >>>>>>>>>
Текст илгээх
 $registration_id,
  'collapse_key' => 'update',
  'data.message' => $message,
);
$post = http_build_query($post_list, '&');

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$ret = curl_exec($ch);
 
var_dump($ret);

?>
Continue Reading...

7/12/2012

Android : Add View to a Fragment Dynamically

Android app бичиж байх үед Fragment ашиглах явдал их байдаг ба тухайн Fragment хэлбэрээр ашиглаж буй классад динамикаар компонент нэмэх талаар тэмдэглэл оруулъя гэж бодлоо.
Дараах 3н файлыг ашиглаж байгаа гэж үзвэл.
1.Fragment агуулж буй Main.java
2.Fragment хэлбэрээр ашиглаж байгаа frgClass.java
3.frgClass.java Layout файл frgClassLayout.xml

1.Main.java файл
//Main.java файл
frgClass frgclass = (frgClass) getFragmentManager().findFragmentById(R.id.frgClassLayout);
int callFlg = 0;
//Button Onclick
@Override
public void onClick(View v) {
    switch(v.getId()){
        case R.id.btn1 :
                        callFlg = 1;
                        frgclass.updateContent(callFlg);
        break;
        }
}

2.frgClass.java файл

//

LinearLayout frgLayout= (LinearLayout) mainView.findViewById(R.id.frgLayout);

//
public void updateContent(final int flg) {
        switch(flg){
            case 1 :

                        frgLayout.removeAllViews();

               TextView valueTV = new TextView(getActivity());
               valueTV.setText("hello world");
               valueTV.setId(5);
               valueTV.setLayoutParams(new LayoutParams(
                                           LayoutParams.FILL_PARENT,
                                           LayoutParams.WRAP_CONTENT));

            break;
            default:

                       //your process
            break;
               }
}

3. frgClassLayout.xml файл


 
  

Continue Reading...

6/21/2012

Java Web Start application : Signature

Бид өөрийн арр-г Java Web Start хэлбэрээр ашиглах шаардлага гардаг бөгөөд тухайн үед Signature заавал хэрэг болдог. Дэлхийд алдартай VeriSign,Thawte г.м компаниудын Certificate (гэрчилгээ,үнэмлэх) ашиглаж болох бөгөөд тэр бүр энэхүү үйлчилгээг ашиглаад байх боломж бололцоо ховор байдаг билээ. Үүний улмаас өөрийн гэсэн Signature-г ашиглах хэрэгцээ гардаг. Энэ удаагийн бичлэгтэй хэрхэн Signature үүсгэх, ашиглах талаар санаа болохоор командыг бичье гэж бодлоо.
//key файл үүсгэх
keytool -genkey -alias YourName -keystore filename.dat
//jarsigner ашиглан өөрийн jar файлдаа үнэмлэх олгох
jarsigner -keystore filename.dat -storepass yourpass yourjar.jar YourName
Дээрх командуудыг биелүүлэхэд команд олдохгүй байна гэсэн алдаа заавал дараах аргыг хэрэглээрэй
Арга №1
Command Prompt-н Current directory-г Жава суулгасан хавтас/bin болгож тохируулах
Арга №2
Environment variables хэсэгийн Path хэсэгт доорх Path-г нэмэх
Жава суулгасан хавтас/bin
Ихэнхдээ жава суусан хавтас нь :
C:\Program Files\Java\jdk эсвэл jre\bin байдаг
jarsigner коммандыг амжилттай биелүүлсэнээр Та өөрийн jar файлаа Java Web Start хэлбэрээр ачааллах бүрэн боломжтой болно.
Continue Reading...

6/10/2012

.NET дээр суулгац(install) бэлдэхэд VBScript ашиглах талаар

.NET дээр суулгац(install) бэлдэж байхад VBScript ашиглах тохиолдол цөөнгүй гардаг болохоор нэг тэмдэглэл бичье гэж бодлоо. Саяхан суулгац бэлдэхдээ хэд хэдэн нөхцөл оруулах шаардлага гарсан юм. Жишээ нь суулгах процесс дууссаны дараа програмаа ачааллах эсэхийг сонгох radiobutton эсвэл checkbox нэмэх гэх мэт. Ийм үед ямар нэгэн Script ашиглах шаардлагатай бөгөөд энэ удаад суулгасан програмаа ачааллах VBScript-г жишээ болгов.
1. Суулгац бэлдэх Form-ийн UI хэсгийн Суулгац дуусах хэсэг checkbox нэмэх хэрэгтэй. .NET нь автоматаар 4н ширхэг checkbox нэмэгддэг бөгөөд өөрийн ашиглах байдалдаа тохируулан сонгох боломжтой.

2. Програм ачааллах VBScript-г доорх байдлаар бэлдээд CustomAction.vbs нэртэй хадгална. хадгалсан файлаа суулгац бэлдэх хэсгийн Application Folder хэсэгт нэмнэ.
Dim WshShell
if Session.Property("CHECKBOXA1") then
    set WshShell = CreateObject("WScript.Shell")
    WshShell.Run """" & Session.Property("TARGETDIR") & "yourAppName.exe"""
end if
3. Суулгацаа бэлдэж дууссаны дараагаар MSI файлаа ORCA дээр нээнэ.
Orca-н File талбарын утгыг хуулж авна. Ж: _77760E20AE324214B847ADADACA85FA6
   3.1 Хуулж авсаны дараагаар Orca-н CustomAction хүснэгтэд шинэ мөр нэмнэ
   3.2 CustomAction - Action : myAction
CustomAction - Type : 22 //VBScript-н төрөл нь 22 бусад Script-н төрлийг энд дар үзээрэй
   3.3 CustomAction - Source : хэсэгт өмнөх File талбарын утгыг хуулна.
   3.4 ControlEvent хүснэгтэд шинэ мөр нэмнэ
   3.5 Нэмсэн шинэ мөрны утгыг дараах байдлаар тохируулаад хадгална.
     ControlEvent - Dialog : FinishedForm
     ControlEvent - Control : CloseButton
     ControlEvent - Event : DoAction
     ControlEvent - Argument : myAction
     ControlEvent - Condition : 1
     ControlEvent - Ordering : 1
Энэ хүрх үйлдэлийг зөв биелүүлсэн бол CHECKBOXA1 сонгогдсон үед таны суулац дууссаны дараа автоматаар таны п.х ачааллах болно.
Continue Reading...

5/22/2012

Your Project contains error s please fix them before running your application

Your Project contains error s please fix them before running your application


Дээрх алдааны мэдээлэл андройд дээр арр бичиж байх үед их тохиолддог. Таны бичсэн кодын хувьд ямар ч асуудалгүй байхад дээрх алдаа заагаад байвал(Зөвхөн Project хэсэг нь алдаатай байвал) дараах аргыг хэрэглээд үзээрэй.


1. Арга 1
  • - Project -> Clean
  • - Project -> Build Project
Дээрх командыг биелүүлэхэд алдаа заасан хэвээр байвал доорх аргыг туршиж үзээрэй.
2. Арга 2
  • debug.keystore-файлыг устгах
файлыг байгаа path-г мэдэхыг хүсвэл дараах командыг бичлүүлээрэй
- Window -> Preferences -> Android -> Build
Continue Reading...

5/14/2012

Хууль ч гэх шиг

Болоод байгай үйл явдлыг хараад байхад. МОНГОЛ УЛСЫН ХУУЛЬ гэсэн сүржин нэрийг, ядуу ардыг залхаан цээрлүүлэх аргачлал(жагсаалт) гэсэн даржин нэрээр сольчихмоор юм. Тэгээд хахуулийн хэмжээ, танил талаар нь "ЯДУУ АРДЫГ ЗАЛХААН ЦЭЭРЛҮҮЛЭХ АРГАЧЛАЛ/ЖАГСААЛТ/-н тэдийн тэдэд хамаарахгүй гэсэн хэнд ч ойлгомжтойгоор нэмэлт оруулвал таарна.
Continue Reading...
 

Надад итгэл бий Copyright © 2009 WoodMag is Designed by Ipietoon for Free Blogger Template