Skip to main content

Android - get Logs programmatically



Your main Activity :

package com.get_Logs;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class Get_LogsActivity extends Activity {
    private TextView textv;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        textv = (TextView)findViewById(R.id.textView1);

        getallLogs();
    }

    private void getallLogs() {
        // TODO Auto-generated method stub
        try {
            Process process = Runtime.getRuntime().exec("logcat -d");
            BufferedReader bufferedReader = new BufferedReader(
                    new InputStreamReader(process.getInputStream()));

            StringBuilder log = new StringBuilder();
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                log.append(line+"\n");
            }

            File myFile = new File("/sdcard/mysdfile.doc");
            if (!myFile.exists()) {
                myFile.createNewFile();
            }

            Log.e("log---->", ""+log.toString());

            textv.setText(log.toString());

            FileOutputStream fOut = new FileOutputStream(myFile);
            OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
            myOutWriter.append(log.toString());
            myOutWriter.close();
            fOut.close();



        } catch (IOException e) {
            Log.d("D: error generate log -->", "" + e.getMessage().toString());
        }
    }
}

your main layout file:


 <?xml version="1.0" encoding="utf-8"?>  
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
      android:orientation="vertical" android:layout_width="fill_parent"  
      android:layout_height="fill_parent">  
      <ScrollView android:id="@+id/scrollView1"  
           android:layout_height="match_parent" android:layout_width="match_parent">  
           <LinearLayout android:id="@+id/linearLayout1"  
                android:layout_width="match_parent" android:layout_height="match_parent">  
                <TextView android:id="@+id/textView1" android:layout_height="match_parent"  
                     android:textAppearance="?android:attr/textAppearanceMedium"  
                     android:text="TextView" android:layout_width="match_parent"></TextView>  
           </LinearLayout>  
      </ScrollView>  
 </LinearLayout>  




your manifest file:


 <?xml version="1.0" encoding="utf-8"?>  
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    package="com.get_Logs"  
    android:versionCode="1"  
    android:versionName="1.0">  
   <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="13"/>  
   <uses-permission android:name="android.permission.READ_LOGS"></uses-permission>  
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>  
   <application android:icon="@drawable/icon" android:label="@string/app_name">  
     <activity android:name=".Get_LogsActivity"  
          android:label="@string/app_name">  
       <intent-filter>  
         <action android:name="android.intent.action.MAIN" />  
         <category android:name="android.intent.category.LAUNCHER" />  
       </intent-filter>  
     </activity>  
   </application>  
 </manifest>  

Comments

  1. Brother...

    Thank you for your posts .
    Please post also lecture about saving and retrieving images from mysql server from android using php .

    ReplyDelete

Post a Comment

Popular posts from this blog

Why Domain-Specific AI Agents Beat One Big Agent

Everyone is building agents right now. Real estate firms. Independent insurance brokers. Fortune 500 companies with budgets big enough to hire an army of consultants. Ask around and you'll hear the same story everywhere: "we're building our own agent." And yet almost nobody is asking the obvious question: why does the default approach keep failing? One large, general-purpose agent gets wired up to every tool the business owns. It impresses in the demo. Then it quietly stalls before production. There's a gap between what businesses want and what they're actually getting. They want AI woven into their data, their workflows, their day-to-day operations. What they get instead is one oversized agent trying to be a sales rep, a compliance officer, and a customer support line, all at once. That gap is an architecture problem, not a model problem. Key Takeaways The default "one big agent" pattern breaks down on context bloat, cost, fragility, and portability...

Stop Babysitting your AI Coding Agent Every Single Session

  Watched a video by DSquaredLabs on " No more re-explaining: Give your AI agent a memory graph " — here's what stuck with me and why I think this three-tool system is worth your attention If you work on a large codebase with AI coding tools, you already know the ritual. Open a new chat, paste your file structure, explain your stack, describe how the modules connect — and repeat the whole thing tomorrow. It is not a minor inconvenience. It is a compounding productivity tax that gets worse as your project grows. This article breaks down a three-tool system designed to fix exactly that. If you want the full walkthrough with a live demo on a real monorepo, the video at the bottom covers everything in depth — but the core concepts are worth understanding before you dive in. The Problem With How Most Developers Use AI Today Most AI-assisted coding workflows are missing three things that every good engineering team actually has: A map of the codebase A process for how w...

Android show Data from Sqlite DB into Grid View

Shaadi.com Matrimonials Shaadi.com Indian Matrimonials Your Main Activity class package com . Sqlite_grid_view ; import java . util . ArrayList ; import java . util . List ; import android . app . Activity ; import android . os . Bundle ; import android . util . Log ; import android . view . View ; import android . widget . AdapterView ; import android . widget . AdapterView . OnItemClickListener ; import android . widget . ArrayAdapter ; import android . widget . GridView ; import android . widget . TextView ; import android . widget . Toast ; public class AndroidSQLiteTutorialActivity extends Activity { private GridView gridView ; public static ArrayList < String > ArrayofName = new ArrayList < String >(); /** Called when the activity is first created. */ @ Override public void onCreate ( Bundle savedInstanceState ) { super . onCreate ( savedInstanceState ); setContentView ( R . l...