Android: Set และ Get String Array Resource

เริ่มจากการกำหนดค่า String Array ใน String.xml

Earth
Moon


    @string/earth
    @string/moon
 

การ get ค่าออกมาจะใช้

String[] itemNames = getResources().getStringArray(R.array.system);  

ประมาณนี้…

Android: Back Button with Attach Data ใน Sdk Version 22

ตอนนที่ใช้งานตอนนี้เป็น Sdk Version 22

import android.content.Intent;
import android.support.v4.app.NavUtils;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

import net.itorn.helpers.DebugHelper;

public class ServiceEvaluationActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_service_evaluation);

        DebugHelper.LogStart("CustomerPasswordAuthActivity");

        // Back button
        if (getSupportActionBar() != null)
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        initIntentData();
    }

    public void initIntentData() {

        Intent intent = getIntent();
        testData = intent.getStringExtra("TESTDATA");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_service_evaluation, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
            // Respond to the action bar's Up/Home button
            case android.R.id.home:

                NavUtils.navigateUpFromSameTask(this);
                onBackPressed();
                return true;
        }

        return super.onOptionsItemSelected(item);
    }

    public void onBackPressed() {
        Intent intent = new Intent(ServiceEvaluationActivity.this, MyServiceChecklistOverviewListActivity.class);
        intent.putExtra("TESTDATA", testData);
        
        startActivity(intent);
    }
}

Android : สร้าง layout ด้วย code

qTextView = new TextView[question.length];
mainRelativeLayout = (RelativeLayout) findViewById(R.id.mainRelativeLayout);
for(int i=0; i < question.length; i++) {

      qTextView[i] = new TextView(this);
      RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams ((int) ViewGroup.LayoutParams.WRAP_CONTENT, (int) ViewGroup.LayoutParams.WRAP_CONTENT);
      params.leftMargin = 5;
      params.topMargin = i * 60;

      qTextView[i].setText(question[i]);
      qTextView[i].setTextSize((float) 20);
      qTextView[i].setPadding(20, 50, 20, 50);
      qTextView[i].setLayoutParams(params);

      mainRelativeLayout.addView(qTextView[i]);
}

 

Android: แสดงผล Datetime แบบให้คนอ่าน (Format relative date to human readable format in Android)

สามารถใช้ Method จาก getRelativeTimeSpanString

public static String RelativeDate(Date date) {

        long timeInMilliseconds = date.getTime();
        long now = System.currentTimeMillis();
        CharSequence timeSpan = DateUtils.getRelativeTimeSpanString(timeInMilliseconds, now, DateUtils.HOUR_IN_MILLIS);

        return timeSpan.toString();
}

ที่นี้ก็จะสามารถแสดงผลได้แบบ “0 minutes ago” หรือ “Today” โดยจะขึ้นอยู่กับภาษาในเครื่องด้วย