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...

12/26/2011

Шинэ булан MATLAB

Блогтоо нэгэн шинэ булан нэмье гэж бодлоо. Matlab дээр айхтар туршлага байхгүй ч ажиллах явцдаа сурч мэдсэн зүйлээ нэмээд явбал дараа өөрт минь ч хэрэгтэй боловуу. Ойрын үед милээн завгүй байгаа тул дараа завандаа шинэ буландаа шинэ бичлэгээ шинэ онд нэмнэ ээ. :)
Continue Reading...

11/28/2011

Cakephp : Apache Alias

Энэ удаа Alias ашиглан Cakephp дээр хөгжүүлсэн вэб хуудасаа харуулах талаар жаахан тэмэдэглэл бичье.
Cakephp ашиглаагүй үед дараах байдлаар шууд ашиглах боломжтой байдаг бол, Cakephp дээр хөгжүүлсэн вэб арр-н хуьд нэмэлт тохиргоо шаардлагатай болдог.

Alias /test /usr/local/test/

AddDefaultCharset Off
Options Indexes FollowSymLinks
Order allow,deny
Allow from all



Cakephp үед доорх байдлаар тохиргоогоо өөрчлөөрэй.
1-рт

1. app/webroot/.htaccess нээж доорх мөрийг нэмнэ
2. RewriteBase /test

Жишээлбэл :


RewriteEngine On
RewriteBase /test
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]



2-рт

//app/webroot/index.php файлыг дараах байдлаар засварлана
//Засварлахын өмнөх
if (!defined('WEBROOT_DIR')) {
define('WEBROOT_DIR', bsename(dirname(__FILE__)));
}
//Засварлахын дараах
if (!defined('WEBROOT_DIR')) {
define('WEBROOT_DIR', "test");
}


Тохиргоо хийгдэж дууссан бол дараах байдлаар хандаж болно.

http://your-domain/test/



Continue Reading...

11/27/2011

Sony Tablet


Хэн нэг нь android os-тэй tablet pc авах гэж байгаа бол
Sony Tablet дажгүй юм байна шүү. Надад лав бусдаасаа хавь илүү юм шиг санагдсан. Үнийн хувьд жаахан үнэтэй ч ашиглахад амар бас цэнэгээ гайгүй удаан барьдаг юм байна гэж...
Бусад зураг
Continue Reading...

11/24/2011

Android : Holo Theme

Holo Theme ашиглаж байхад titlebar-г customize хийж болохгүй юм. Style-нхаа parent-г зүгээр Theme гэхээр болоод байгаа хэрнээ Holo Theme гэж тодорхойлохоор ажилдаггүй ээ. Holo Theme-г ашигламаар байдаг customize хийж байсан хүн байвал туршлагаасаа хуваалцааж.
Continue Reading...

11/21/2011

Android : Cache directory-н талаар

Android арр бичиж байхад Cache directory ашиглах шаардлага ихээхэн гарч байгаа болов уу. Хэдэн санаа болохоор зүйл энэ бичлэгтэй оруулъя гэж бодлоо.
Cache directory-д дэд хавтас үүсгэх

File file = new File(getCacheDir(), "your folder name/");
//Дээрх folder байгаа эсэхийг шалгах
if (!file.exists()) {
//байхгүй тохиолдолд үүсгэх
if(file.mkdirs()){
//Үүсгэсэн folder тоо файл хуулах
FileOutputStream fos = new FileOutputStream(new File(getCacheDir(), "your folder name/" + хуулах файлийн зам));
fos.close();
}
}

Cache directory устгах

public static void fdeleteCacheDir(Context context) {
Runtime localRuntime = Runtime.getRuntime();
String cachePath = context.getCacheDir().getPath();
String cmd = "rm -R " + cachePath;
try {
localRuntime.exec(cmd);
} catch (IOException err) {
Log.d(TAG, " fdeleteCacheDir:" + err.getMessage());
}
}

Continue Reading...

10/31/2011

CakePHP Sqlite3 ашиглах

CakePHP FW -н sqlite_open функц нь Sqlite2 хүртлэх хувилбарыг дэмждэг бөгөөд Sqlite3 ашиглах үед доорх алдаа үүсдэг.

file is encrypted or is not a database


Sqlite3 ашиглахын тулд дараах классыг ашиглаж болно.
Доорх линкээс татаад аваарай
Татах


Татаж авч задласны дараа файлуудаа доор бичсэний дагуу харгалзах дир-т хуулна.

dbo_sqlite3_spok.php - г cake/app/models/datasources/dbo/」
dbo_source.php - г 「cake/app/models/datasources/」


ӨС-тай холбох тохиргоог доорх байдлаар тохируулна.

var $default = array(
'driver' => 'sqlite3_spok',
'connect' => 'PDO',
'persistent' => false,
'host' => '',
'login' => '',
'password' => '',
'database' => 'sqlite:../your path/Your DB',
'prefix' => '',
'encoding' => 'UTF-8',
);


Гэвч scaffold,paginate г.м функцуудыг ашиглах үед дараах алдаа үүсдэг.

Call to undefined method DboSqlite3Spok::calculate()


Дээрх алдааг засахдаа dbo_sqlite3_spok.php-д дараах функцыг нэмээрэй.

function calculate(&$model, $func, $params = array()) {
$params = (array)$params;
switch (strtolower($func)) {
case 'count':
if (!isset($params[0])) { $params[0] = '*'; }
if (!isset($params[1])) { $params[1] = 'count'; }
return 'COUNT(' . $this->name($params[0]) . ') AS ' .$this->name($params[1]);
case 'max':
case 'min' :
if (!isset($params[1])) { $params[1] = $params[0]; }
return strtoupper($func) . '(' . $this->name($params[0]) . ') AS ' . $this->name($params[1]);
break;
}
}

Continue Reading...

10/24/2011

SELinux Enable => Unable to connect to PostgreSQL server: could not connect to server: Permission denied


Unable to connect to PostgreSQL server: could not connect to server: Permission denied

SELinux Enable үед дээрх алдаа заавал дараах командыг бичиж SELinux төлөвийг шалгана.

getsebool -a | grep httpd

Дээрх командыг биелүүлэхд доорх байдлаар үр дүн нь харгадана.

allow_httpd_anon_write --> off
allow_httpd_mod_auth_pam --> off
allow_httpd_sys_script_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_network_connect --> off
httpd_can_network_connect_db --> off
httpd_can_network_relay --> off
httpd_disable_trans --> off
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> on
httpd_rotatelogs_disable_trans --> off
httpd_ssi_exec --> off
httpd_suexec_disable_trans --> off
httpd_tty_comm --> off
httpd_unified --> on

httpd_can_network_connect_db гэсэн тохиргоо Off үед дээрх алдаа үүсэх магадлалтай учир доорх командыг ашиглан On болгон тохируулна.

setsebool -P httpd_can_network_connect_db 1

Ер нь SELinux Enable үед урьд нь ажиллаж байсан тохиргоо ажиллахгүй үед SELinux-н лог файлыг нь шалгах нь зүйтэй юм.

/var/log/audit/audit.log


Permission denied гэсэн алдаа заасан үед дээрх лог файлыг шалгахдаа доорх команды ашиглавал хялбар байдаг.

grep "avc: denied" /var/log/audit/audit.log

Бүгдэд нь амжилт хүсье. :)
Continue Reading...
 

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