pub

samedi 27 décembre 2014

Variables Javascript alefa any amin'ny Android

Anisan'ny nanahirana ahy tamin'ny fanamboarana ny Baiboly Katolika amin'ny Android ity resaka Javascript ity. Indrindra hoe ahoana ny mandray ny "variables" na koa ny "resultat"-n'ny fonction atao any amin'ny Javascript ho azo raisina amin'ny Android.
Ny hevitra hitako izay mbola tsy hitako nampiasain'ny hafa dia ny resaka console.log().
Atao console.log ao amin'ny javascript ilay variable dia tonga dia voarain'ny onConsoleMessage-n'ny webClient-n'ny webview.

Ito izany, ohatra ny Javascript

$(document).ready(function(){
 $( "#showmessage" ).click( function( e ) {
     var msg = $("#message").html();
     console.log(msg);
 } );
});


dia ito ny webChromeClient mandray an'ilay console message

webView.setWebChromeClient(new WebChromeClient() {
      public boolean onConsoleMessage(ConsoleMessage cm) {
          final String msg = cm.message();
          Toast.makeText(AndininyActivity.this, msg, Toast.LENGTH_LONG).show();
      }
});

Azo raisina sy ampiasaina araka izay ilàna azy amin'izay ilay msg avy eo

samedi 20 décembre 2014

Zaraina...

Ao amin'ny application Baiboly Malagasy, rehefa mitady teny dia miseho ny lisitry ny andininy hita misy an'ilay teny. Rehefa atao tsindry maharitra ny andininy iray dia mitranga ilay hoe "Zaraina..." ka toa izao ny nanaovana an'iny. Zavatra tsotra be avy amin'ny intent.



Tsindry maharitra mampiseho Context Menu

Mikasika indrindra ny tsindry maharitra eo amin'ny singa iray ao amin'ny "ListView" no resahina eto. Matetika ny ahy dia misy zavatra maromaro ao anatin'ny singa iray ao amin'ny ListView.
Ohatra ny vokatry ny fitadiavana ao amin'ny Baiboly dia mampiasa ListView fa ao anatin'ny "row" anakiray dia misy views telo (a_id, a_titre, a_texte)
Mba hahafahana mandray ny zavatra ao anatin'io "row" io rehefa manao "tsindry maharitra", ohatra hoe tiana hotehirizina ilay andininy, dia tsy afaka tonga dia mampiasa position (izay manome ny position-n'ny row ao anatin'ilay ListView izay tsy mitovy akory amin'ny a_id). Dia naleoko maka ny objet avy amin'ny getItemAtPosition
Toa izao no natao ary:

@Override
protected void onCreate(Bundle savedInstanceState) {
  (...)
  lv = (ListView) findViewById(R.id.lstResult);
 
  registerForContextMenu(lv);
  (...)
}

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
    int position = info.position;
    HashMap row = (HashMap)lv.getItemAtPosition(info.position);
    menu.setHeaderTitle(row.get("a_title"));
    menu.add(Menu.NONE, 1, 0, "Tehirizina");

}

@Override
public boolean onContextItemSelected(MenuItem item) {
    // Get extra info about list item that was long-pressed
    AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
    // Perform action according to selected item from context menu
    HashMap row = (HashMap)lv.getItemAtPosition(menuInfo.position);

    String a_id = row.get("a_id");
    String a_title = row.get("a_title");
    String a_text = row.get("a_text");

    switch (item.getItemId()) {
        case 1: //tehirzina
            // Show message
            fdb = new FavoriteDb(this);
            if(fdb.isFavorite(a_id) == 0)
            {
                Toast.makeText(getApplicationContext(), "Voatahiry ny " + a_title, Toast.LENGTH_LONG).show();
            }
            else
            {
                Toast.makeText(getApplicationContext(), "Efa ao anaty tahiry ny " + a_title, Toast.LENGTH_LONG).show();
            }

            break;
       
    }
    return true;
}
Amin'izao dia manana "object" mitahiry ny votoatin'ilay "row" ka azoko alaina tsirairay ny singa ao anatiny (ohatra hoe tehirizina any amin'ny base de données)