Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Алерон
5 / 5 / 0
Регистрация: 13.10.2009
Сообщений: 539
#1

Часы для Android и ошибка "unfortunately clock has stopped" - Программирование Android

01.06.2014, 22:33. Просмотров 1588. Ответов 4
Метки нет (Все метки)

Задали лабораторную по создания приложения часов для андроид. По скольку ни с андройдом ни с явой не работал, пытаюсь разобраться.
Написал приложение, но при запуске почему-то пишет "unfortunately clock has stopped". В чём ошибка не понимаю
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package com.example.clock;
 
import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
 
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.os.Build;
 
 
public class MainActivity extends ActionBarActivity {
    public TextView MTV = (TextView)findViewById(R.id.TimerText);
    public Timer T1 = new Timer();
    public class MyTask extends TimerTask {
        public void run() {
            MTV.setText(getDateTime());
            
        
        }
    }
        
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        TimerTask task = new MyTask();
        T1.schedule( task, 1000);
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }
    }
    private String getDateTime() {
 
        DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
 
        Date date = new Date();
 
        return dateFormat.format(date);
 
    }
 
 
 
    @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;
        }
    }
 
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2014, 22:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Часы для Android и ошибка "unfortunately clock has stopped" (Программирование Android):

Новая реализация findViewById и ошибка "Unfortunately, MyApp has been stopped" - Программирование Android
Здравствуйте, хотел немного сократить код программы, создав метод, который принимает на вход View и Integer //Сам метод public ...

Connect to MS SQL и ошибка "unfortunately has stopped" - Программирование Android
Привет! Ребята выручите пожалуйста. Скачал jtds, вроде прилинковал к проекту... в манифесте прописал доступ к инету ...

Как отловить причину "unfortunately, application has stopped" на эмуляторе? - Программирование Android
Приветствую всех! Помогите разобраться. Пытаюсь убрать заголовок protected void onCreate(Bundle savedInstanceState) { ...

При запуске приложения на эмуляторе: "unfortunately appname has stopped" - Программирование Android
доброго времени суток, друзья, помогите найти ошибку, при запуске приложения на эмуляторе выдает сообщение unfortunately appname has...

Как исправить ошибку "Unfortunately, <Program> has stopped"? - Программирование Android
Я только начал изучать программирование программ для Android и сразу же после создания приложения Hello World, при запуске приложения на...

Ошибка "Activity class {com.Android.System/com.Android.System.MainActivity} does not exist" - Программирование Android
Starting: Intent { act=android.intent.action.MAIN cat= cmp=com.android.system/.MainActivity } Error type 3 Error: Activity class...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
02.06.2014, 04:45 #2
Вы намудрили с таймером...

Java
1
2
3
4
5
6
7
8
9
10
11
private Timer timer_1 = new Timer();
private Handler Tread1_Handler = new Handler();
 
...
 
// в ОнКрейт
timer_1.schedule(new TimerTask() { @Override public void run() {
 Tread1_Handler.post(new Runnable() {public void run() {
   ((TextView)findViewById(R.id.TimerText)).setText(getDateTime());
 }});
}}, 0, 1000);
Алерон
5 / 5 / 0
Регистрация: 13.10.2009
Сообщений: 539
03.06.2014, 13:33  [ТС] #3
Всё та же unfortunately has stopped.
Ещё: в чём различие между activity И fragment main ?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package com.example.time;
 
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
 
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.text.format.DateFormat;
import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.os.Build;
 
public class MainActivity extends ActionBarActivity {
    public TextView MTV = (TextView)findViewById(R.id.TimerTextA);
    private Timer timer_1 = new Timer();
    private Handler Tread1_Handler = new Handler();
    private String getDateTime() {   
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        Date date = new Date();
        return dateFormat.format(date);
 
    }
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        timer_1.schedule(new TimerTask() { @Override public void run() {
             Tread1_Handler.post(new Runnable() {public void run() {
               ((TextView)findViewById(R.id.TimerTextA)).setText(getDateTime());
             }});
            }}, 0, 1000);
        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;
        }
    }
 
}
06-03 05:23:50.260: E/AndroidRuntime(786): FATAL EXCEPTION: main
06-03 05:23:50.260: E/AndroidRuntime(786): Process: com.example.time, PID: 786
06-03 05:23:50.260: E/AndroidRuntime(786): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.time/com.example.time.MainActivity}: java.lang.NullPointerException
06-03 05:23:50.260: E/AndroidRuntime(786): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
06-03 05:23:50.260: E/AndroidRuntime(786): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
06-03 05:23:50.260: E/AndroidRuntime(786): at android.app.ActivityThread.access$800(ActivityThread.java:135)
06-03 05:23:50.260: E/AndroidRuntime(786): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
06-03 05:23:50.260: E/AndroidRuntime(786): at android.os.Handler.dispatchMessage(Handler.java:102)
06-03 05:23:50.260: E/AndroidRuntime(786): at android.os.Looper.loop(Looper.java:136)
06-03 05:23:50.260: E/AndroidRuntime(786): at android.app.ActivityThread.main(ActivityThread.java:5017)
06-03 05:23:50.260: E/AndroidRuntime(786): at java.lang.reflect.Method.invokeNative(Native Method)
06-03 05:23:50.260: E/AndroidRuntime(786): at java.lang.reflect.Method.invoke(Method.java:515)
06-03 05:23:50.260: E/AndroidRuntime(786): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
06-03 05:23:50.260: E/AndroidRuntime(786): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
06-03 05:23:50.260: E/AndroidRuntime(786): at dalvik.system.NativeStart.main(Native Method)
06-03 05:23:50.260: E/AndroidRuntime(786): Caused by: java.lang.NullPointerException
06-03 05:23:50.260: E/AndroidRuntime(786): at android.app.Activity.findViewById(Activity.java:1884)
06-03 05:23:50.260: E/AndroidRuntime(786): at com.example.time.MainActivity.<init>(MainActivity.java:23)
06-03 05:23:50.260: E/AndroidRuntime(786): at java.lang.Class.newInstanceImpl(Native Method)
06-03 05:23:50.260: E/AndroidRuntime(786): at java.lang.Class.newInstance(Class.java:1208)
06-03 05:23:50.260: E/AndroidRuntime(786): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
06-03 05:23:50.260: E/AndroidRuntime(786): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
06-03 05:23:50.260: E/AndroidRuntime(786): ... 11 more
06-03 05:26:13.335: E/AndroidRuntime(1072): FATAL EXCEPTION: main
06-03 05:26:13.335: E/AndroidRuntime(1072): Process: com.example.time, PID: 1072
06-03 05:26:13.335: E/AndroidRuntime(1072): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.time/com.example.time.MainActivity}: java.lang.NullPointerException
06-03 05:26:13.335: E/AndroidRuntime(1072): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
06-03 05:26:13.335: E/AndroidRuntime(1072): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
06-03 05:26:13.335: E/AndroidRuntime(1072): at android.app.ActivityThread.access$800(ActivityThread.java:135)
06-03 05:26:13.335: E/AndroidRuntime(1072): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
06-03 05:26:13.335: E/AndroidRuntime(1072): at android.os.Handler.dispatchMessage(Handler.java:102)
06-03 05:26:13.335: E/AndroidRuntime(1072): at android.os.Looper.loop(Looper.java:136)
06-03 05:26:13.335: E/AndroidRuntime(1072): at android.app.ActivityThread.main(ActivityThread.java:5017)
06-03 05:26:13.335: E/AndroidRuntime(1072): at java.lang.reflect.Method.invokeNative(Native Method)
06-03 05:26:13.335: E/AndroidRuntime(1072): at java.lang.reflect.Method.invoke(Method.java:515)
06-03 05:26:13.335: E/AndroidRuntime(1072): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
06-03 05:26:13.335: E/AndroidRuntime(1072): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
06-03 05:26:13.335: E/AndroidRuntime(1072): at dalvik.system.NativeStart.main(Native Method)
06-03 05:26:13.335: E/AndroidRuntime(1072): Caused by: java.lang.NullPointerException
06-03 05:26:13.335: E/AndroidRuntime(1072): at android.app.Activity.findViewById(Activity.java:1884)
06-03 05:26:13.335: E/AndroidRuntime(1072): at com.example.time.MainActivity.<init>(MainActivity.java:23)
06-03 05:26:13.335: E/AndroidRuntime(1072): at java.lang.Class.newInstanceImpl(Native Method)
06-03 05:26:13.335: E/AndroidRuntime(1072): at java.lang.Class.newInstance(Class.java:1208)
06-03 05:26:13.335: E/AndroidRuntime(1072): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
06-03 05:26:13.335: E/AndroidRuntime(1072): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
06-03 05:26:13.335: E/AndroidRuntime(1072): ... 11 more
06-03 05:26:28.135: E/AndroidRuntime(1094): FATAL EXCEPTION: main
06-03 05:26:28.135: E/AndroidRuntime(1094): Process: com.example.time, PID: 1094
06-03 05:26:28.135: E/AndroidRuntime(1094): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.time/com.example.time.MainActivity}: java.lang.NullPointerException
06-03 05:26:28.135: E/AndroidRuntime(1094): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
06-03 05:26:28.135: E/AndroidRuntime(1094): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
06-03 05:26:28.135: E/AndroidRuntime(1094): at android.app.ActivityThread.access$800(ActivityThread.java:135)
06-03 05:26:28.135: E/AndroidRuntime(1094): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
06-03 05:26:28.135: E/AndroidRuntime(1094): at android.os.Handler.dispatchMessage(Handler.java:102)
06-03 05:26:28.135: E/AndroidRuntime(1094): at android.os.Looper.loop(Looper.java:136)
06-03 05:26:28.135: E/AndroidRuntime(1094): at android.app.ActivityThread.main(ActivityThread.java:5017)
06-03 05:26:28.135: E/AndroidRuntime(1094): at java.lang.reflect.Method.invokeNative(Native Method)
06-03 05:26:28.135: E/AndroidRuntime(1094): at java.lang.reflect.Method.invoke(Method.java:515)
06-03 05:26:28.135: E/AndroidRuntime(1094): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
06-03 05:26:28.135: E/AndroidRuntime(1094): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
06-03 05:26:28.135: E/AndroidRuntime(1094): at dalvik.system.NativeStart.main(Native Method)
06-03 05:26:28.135: E/AndroidRuntime(1094): Caused by: java.lang.NullPointerException
06-03 05:26:28.135: E/AndroidRuntime(1094): at android.app.Activity.findViewById(Activity.java:1884)
06-03 05:26:28.135: E/AndroidRuntime(1094): at com.example.time.MainActivity.<init>(MainActivity.java:23)
06-03 05:26:28.135: E/AndroidRuntime(1094): at java.lang.Class.newInstanceImpl(Native Method)
06-03 05:26:28.135: E/AndroidRuntime(1094): at java.lang.Class.newInstance(Class.java:1208)
06-03 05:26:28.135: E/AndroidRuntime(1094): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
06-03 05:26:28.135: E/AndroidRuntime(1094): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
06-03 05:26:28.135: E/AndroidRuntime(1094): ... 11 more
06-03 05:29:30.885: E/AndroidRuntime(1142): FATAL EXCEPTION: main
06-03 05:29:30.885: E/AndroidRuntime(1142): Process: com.example.time, PID: 1142
06-03 05:29:30.885: E/AndroidRuntime(1142): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.time/com.example.time.MainActivity}: java.lang.NullPointerException
06-03 05:29:30.885: E/AndroidRuntime(1142): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
06-03 05:29:30.885: E/AndroidRuntime(1142): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
06-03 05:29:30.885: E/AndroidRuntime(1142): at android.app.ActivityThread.access$800(ActivityThread.java:135)
06-03 05:29:30.885: E/AndroidRuntime(1142): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
06-03 05:29:30.885: E/AndroidRuntime(1142): at android.os.Handler.dispatchMessage(Handler.java:102)
06-03 05:29:30.885: E/AndroidRuntime(1142): at android.os.Looper.loop(Looper.java:136)
06-03 05:29:30.885: E/AndroidRuntime(1142): at android.app.ActivityThread.main(ActivityThread.java:5017)
06-03 05:29:30.885: E/AndroidRuntime(1142): at java.lang.reflect.Method.invokeNative(Native Method)
06-03 05:29:30.885: E/AndroidRuntime(1142): at java.lang.reflect.Method.invoke(Method.java:515)
06-03 05:29:30.885: E/AndroidRuntime(1142): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
06-03 05:29:30.885: E/AndroidRuntime(1142): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
06-03 05:29:30.885: E/AndroidRuntime(1142): at dalvik.system.NativeStart.main(Native Method)
06-03 05:29:30.885: E/AndroidRuntime(1142): Caused by: java.lang.NullPointerException
06-03 05:29:30.885: E/AndroidRuntime(1142): at android.app.Activity.findViewById(Activity.java:1884)
06-03 05:29:30.885: E/AndroidRuntime(1142): at com.example.time.MainActivity.<init>(MainActivity.java:23)
06-03 05:29:30.885: E/AndroidRuntime(1142): at java.lang.Class.newInstanceImpl(Native Method)
06-03 05:29:30.885: E/AndroidRuntime(1142): at java.lang.Class.newInstance(Class.java:1208)
06-03 05:29:30.885: E/AndroidRuntime(1142): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
06-03 05:29:30.885: E/AndroidRuntime(1142): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
06-03 05:29:30.885: E/AndroidRuntime(1142): ... 11 more
Алерон
5 / 5 / 0
Регистрация: 13.10.2009
Сообщений: 539
04.06.2014, 14:27  [ТС] #4
Вроде бы ошибка с потоками, но где именно?
YuraAAA
1571 / 1313 / 270
Регистрация: 25.10.2009
Сообщений: 3,433
Записей в блоге: 2
04.06.2014, 15:34 #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Алерон Посмотреть сообщение
public TextView MTV = (TextView)findViewById(R.id.TimerTextA);
null тут.

Вообще не понятно, как Вы это делаете вне методов...это надо перенести в onCreate после setContentView
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2014, 15:34
Привет! Вот еще темы с ответами:

Исправить ошибку "Unfortunately appname has stopped" - Программирование Android
Посоветуйте как можно обнаружить причину ошибки &quot;Unfortunatellya Battle has stoped&quot;, как ее исправить ??

Ошибка "cannot find symbol variable bs" (Android Studio) - Программирование Android
Подскажите. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...

Ошибка в Android Studio: "x86 emulation currently requires hardware acceleration" - Программирование Android
C:\Users\karr\AppData\Local\Android\sdk\tools\emulator.exe -netdelay none -netspeed full -avd Nexus_S_API_19 emulator: ERROR: x86...

Выбор платформы разработки "1С Мобильная платформа" или "Android Studio" - Программирование Android
Всем, здравствуйте! Есть задача по разработке клиента для терминала сбора данных. Для использования его c WMS. После долгих раздумий было...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.06.2014, 15:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru