为 android 放置 log.i 的正确位置

Posted

技术标签:

【中文标题】为 android 放置 log.i 的正确位置【英文标题】:Right place to put log.i for android 【发布时间】:2014-06-08 18:06:10 【问题描述】:

我正在尝试学习和测试日志文件。下面是我的代码。如何克服这个问题?

   public class MainActivity extends ActionBarActivity 

        @Override
        protected void onCreate(Bundle savedInstanceState) 
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            final String hello=getResources().getString(R.string.hello_world);
            final String STRING_TAG = "Testing: ";
            Log.i(STRING_TAG," String1 " + hello);


            if (savedInstanceState == null) 
                getSupportFragmentManager().beginTransaction()
                        .add(R.id.container, new PlaceholderFragment())
                        .commit();
            
        


        @Override
        public boolean onCreateOptionsMenu(Menu menu) 

            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        

        @Override
        public boolean onOptionsItemSelected(MenuItem item) 
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in androidManifest.xml.
            int id = item.getItemId();
            if (id == R.id.action_settings) 
                return true;
            
            return super.onOptionsItemSelected(item);
        

        /**
         * A placeholder fragment containing a simple view.
         */
        public static class PlaceholderFragment extends Fragment 

            public PlaceholderFragment() 
            

            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container,
                    Bundle savedInstanceState) 
                View rootView = inflater.inflate(R.layout.fragment_main, container, false);
                return rootView;
            
        

    

我收到以下错误。

[2014-06-09 00:09:48 - test1] Android Launch!
[2014-06-09 00:09:48 - test1] adb is running normally.
[2014-06-09 00:09:48 - test1] Performing com.example.test1.MainActivity activity launch
[2014-06-09 00:09:48 - test1] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 't1'
[2014-06-09 00:09:52 - test1] Application already deployed. No need to reinstall.
[2014-06-09 00:09:52 - test1] Starting activity com.example.test1.MainActivity on device emulator-5554
[2014-06-09 00:09:55 - test1] ActivityManager: Starting: Intent  act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.test1/.MainActivity 
[2014-06-09 00:09:55 - test1] ActivityManager: Warning: Activity not started, its current task has been brought to the front
[2014-06-09 00:11:45 - test1] Dx 

【问题讨论】:

【参考方案1】:

代码中的Log默认进入logcat

您发布的输出不是 logcat,而是 IDE 控制台(并且没有错误 - 只是启动应用程序时看到的常见消息)

点击“Logcat”标签查看设备端日志。

【讨论】:

我得到这个红色 test1] ActivityManager:警告:Activity 未启动,其当前任务已被置于最前面 [2014-06-09 00:11:45 - test1] Dx.那么我的应用无法运行怎么办? 您的应用程序的最新版本已经在设备中运行,它刚刚被带到前台。通常,您会在修改代码后启动代码进行测试,这会杀死现有应用程序(安装较新版本时)。如果要显式重新运行onCreate(),可以在设备的应用管理器中终止应用。 对不起,我现在有点迷路了。我已经关闭代码并再次运行,但它现在没有出现。那么导致它进入前台的是 log.i 吗? 如果 logcat 没有显示任何重新启动 eclipse 的行可能还不够。我通过以下步骤取得了成功:1)终止eclipse 2)终止正在运行的进程adb 3)启动eclipse(在我尝试DDMS视图中的“重置adb”按钮之前。这有时会有所帮助)重新启动模拟器是没有必要的.关于慢速模拟器:看看这个帖子 如果没有自行打开,请按logcat按钮。如果您没有 logcat 按钮,请转到 -> Window -> Show View -> Other ... -> Android -> LogCat【参考方案2】:

这些不是错误,而是显示与应用启动相关的消息的控制台日志。

`Warning: Activity not started, its current task has been brought to the front`

要解决此问题,您必须在模拟器/手机中手动关闭应用程序。

通常会在用户不对代码进行任何更改并再次重新运行时生成此警告。

要解决此问题,请在模拟器/手机中手动关闭应用程序或修改一些代码。

更新:

如果您的 logcat 甚至没有显示一行,则重新启动 Eclipse

【讨论】:

我得到这个红色 test1] ActivityManager:警告:Activity 没有启动,它的当前任务已被带到前面 [2014-06-09 00:11:45 - test1] Dx.那么我的应用无法运行怎么办? 好的,我应该怎么关闭模拟器? 无需重启模拟器!在模拟器/手机中手动关闭应用程序或修改您的一些代码 我关闭了我的应用程序并尝试重新运行我的代码,但现在没有任何显示。 您在控制台选项卡中看到此消息,打开 logcat 选项卡

以上是关于为 android 放置 log.i 的正确位置的主要内容,如果未能解决你的问题,请参考以下文章

Android 项目Log日志输出优化

Android相对布局放置问题

UIAppearance - 放置的正确位置

Spring @ContextConfiguration 如何为xml放置正确的位置

如何在 QGraphicsScene 中正确放置小部件

在 jquery drop UI 中,如何使用正确的鼠标位置将拖动元素克隆到放置位置?