Вопросы по программированию



Реп: (1392)
Прикрепленное изображение Google Android OS - Программирование
Вопросы по программированию » | Библиотека Android » (Временно не доступна)| FAQ | Каталог Open source программ для Android OS

Обсуждение тонкостей создания программ для Google Android OS.
При написании кода его надо правильно оформлять
[code] и [/code]

При написании большого кода его надо прятать под спойлер
[SPOILER]содержание спойлера[/SPOILER]

Скачать SDK http://developer.android.com/
Android Scripting Environment (ASE) - создание скриптов прямо на устройстве под управлением Android OS.

Всё самое лучшее из этой темы (находится в режиме наполнения)
Запуск бинарников требующих process_vm_readv или process_vm_writev до 23 API
Исправление обнаружения включаемых путей в Eclipse с новым NDK
Использование констант, как параметров в JNI
Баг андроида с пустым View для ListView
Баги расчета высоты элементов разметки в диалогах
Особенности компиляции нативного кода под ARM
Отображение ProgressBar и прочей анимации, когда она отключена, а также управление скоростью анимации
Как попробовать поймать исключения в чужом Runnable внутри Looper
Избегайте хранения View, которые использовались в ListView
Поддержка "плохих" прошивок
Синтетические методы и как избежать их появления
Подводные камни setCompoundDrawables и CheckedTextView
Вызов кода перед конструктором родителя
Особенности инициализации полей класса
Утечки памяти при использовании полей класса для хранения UI виджетов
Поиск багов статическим анализом кода
Перехват нативных функций
Пример запросов под ROOT'ом + ниже... + для общего понимания работы под root(важно!)
Баги popen и нативные краши
Полезная информация о "view" + ещё
Создание формы регистрации и авторизации(для сайта).
Logcat с 10 Android в Eclipse
Совет по сбору логов об ошибках
Пример кода для Dialog'a


И не поступайте как Джон.
Прикрепленное изображение

Обязательно к прочтению!
Уважаемые пользователи, в связи с отсутствием экстрасенсов, никто не сможет ответить на вопрос "Почему крашится приложение?" или "Почему приложение вылетает/force close ?" в случае отсутствия логов. Поэтому все такие вопросы будут удалены.

По вопросам наполнения шапки обращайтесь в QMS к Модераторам раздела или через кнопку «Жалоба» под сообщениями, на которые необходимо добавить ссылки.

Сообщение отредактировал Boy77ruS - 04.09.23, 21:51
Причина редактирования: Редактирование



Реп: (107)
такой вопрос: при подключенных наушниках(не гарнитуре) при звонке нельзя пользоваться микрофоном телефона, т.е я в наушниках слышу что говорят, а меня нет. я уже спрашивал, говорят так и должно быть, но у меня до этого в телефоне( самсунг 8510 на симбиан) при подключении он спрашивал что именно подключено. так вот может этот вопрос можно решить программно? кто знает как обрабатывается событие при подключении наушников\гарнитуры? аппаратно или программно? т.е там физически размыкаются контакты на микрофон или софт решает, что звук надо направлять с неподключенного микрофона? или может можно принудительно не отключать микрофон если он физически не отключен?



Реп: (1392)
Как сделать так, чтобы приложение запускалось, например, по кнопке Камера?
Уже и BroadcastReceiver написал и в манифесте прописал, а не хочет. Как быть?



Реп: (806)
RubberBigPepper,
посмотрите манифест стандартной камеры, там наверняка нужный intent-filter стоит



Реп: (1392)
thevery @ 15.10.2010, 22:18 *
посмотрите манифест стандартной камеры, там наверняка нужный intent-filter стоит

А как? Он же в двоичный вид переведен.
То есть распаковал я APK камеры, а там androidManifest.xml в нечитаемом виде.



Реп: (806)
RubberBigPepper,
1) его можно расшифровать с помощью axmlprinter2.jar
2) есть же сорцы андроида



Реп: (144)
Помогите, пожалуйста, я тут всем помогал, а сейчас сам застрял. Но, вообщем, у Android невыносимо тупая система виджетов. Как я понял по найденным примерам и мануалам:
- Перерисовать что-то я могу, лишь переопределяя onUpdate. Никакой анимации, а все прикольные виджеты вроде погоды на моем Hero - исключительно примочки Sence.
- Отловить я могу лишь клик по виджету, по целому виджету. Никаких скроллов, drag'n'drop, дабл-тапов.
- Никаких возможностей отловить, куда именно был помещен виджет.
- Никак нельзя обратиться к layout'у виджета. Все няшности - так:
RemoteViews updateViews = new RemoteViews (context.getPackageName (), R.layout.main);
updateViews.setTextViewText (R.id.text, txt);
appWidgetManager.updateAppWidget (appWidgetIds, updateViews);

- Отрисовка лишь на области, занимаемой виджетом.
- Постоянные баги при отладке приложения, вроде "process is bad".

Вот чёрт. Я был гораздо более лучшего мнения о платформе Android до знакомства с виджетами. Понятно, безопасность, все дела. Но почему нельзя просто показать: "Внимание, после добавления виджета на рабочий стол виджет может хулиганить, собирать личную информацию, все дела" - и дать им побольше свободы.

Буду очень рад, если кто-нибудь опровергнет эти неутешительные выводы. Если можно, с примерами.



Реп: (806)
4ufak,
в целом всё верно - виджеты на андроиде невероятно унылы.
+вы забыли ещё и про весьма ограниченный набор контролов

некоторое разнообразие типа скролла может дать, скажем, Launcher Pro

4ufak @ 15.10.2010, 21:28 *
Понятно, безопасность, все дела.

там даже не только безопасность, сколько странные архитектурные решения out-of-process работы виджетов



Реп: (2)
объясните дураку, как правильно ставить апи кей для карты, то есть, я его поставил, но видимо не тот, или не так, потому что при запуске приложения карты всегда пустые, тут мне подсказывали что нужно ставить разные кеи для дебага и релиза, но я так и не разобрался где какие
свой брал по инструкции на девелопер портале (дев аккаунта не имею)



Реп: (26)
Подскажите, как поставить свой фон для приложения?
Как вставить свой значок приложения?



Реп: (806)
sahaga,
1) прописать как background либо прописать в теме
2) поменять его в манифесте



Реп: (26)
Не могу понять где допустил ошибку, или где что-то не дописал.

Есть основное активити с кнопкой. После нажатия на которую мы переходим во 2 активити. А во 2 активити есть кнопка, на которую после нажатия мы переходим в 3 активити с текстом.

Так вот переход с основного активити на 2 идет без проблем. А вот переход со 2 на 3 никак не идет... Появляется ошибка в эмуляторе...

Вот коды:

st_one.xml: (это 2 активити)

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_gravity="center">
<Button
android:id="@+id/Button10"
android:text="@string/st1"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
</LinearLayout>
</ScrollView>


st_one.java:

package com.ZoM;

import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;

public class st_one extends Activity implements OnClickListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.st_one);

View raz_1Button = findViewById(R.id.Button10);
raz_1Button.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.Button10:
Intent i18 = new Intent(this, st_1.class);
startActivity(i18);
break;

// More buttons go here (if any) ...
}
}
}



st_1.xml: (3 активити)

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dip">
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/st_1"/>
</ScrollView>


android manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ZoM"
android:versionCode="1"
android:versionName="1.0"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<application android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".ZoM"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name = ".st1"
android:label = "@string/st1">
</activity>
</application>
</manifest>


В strings.xml я все указал.

Сообщение отредактировал sahaga - 16.10.10, 21:24



Реп: (806)
sahaga,
1) осильте LogCat
2) у вам в манифесте всего 2 активити



Реп: (26)
thevery @ 16.10.2010, 23:41 *
у вам в манифесте всего 2 активити


Я просто указал тока которая относится к данному вопросу. Вот полная:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ZoM"
android:versionCode="1"
android:versionName="1.0"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<application android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".ZoM"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name = ".About"
android:label = "@string/about_title"
android:theme = "@android:style/Theme.Dialog">
</activity>
<activity
android:name = ".st_one"
android:label = "@string/nom1">
</activity>
<activity
android:name = ".st_two"
android:label = "@string/nom2">
</activity>
<activity
android:name = ".st_three"
android:label = "@string/nom3">
</activity>
<activity
android:name = ".st_four"
android:label = "@string/nom4">
</activity>
<activity
android:name = ".st_five"
android:label = "@string/nom5">
</activity>
<activity
android:name = ".st_six"
android:label = "@string/nom6">
</activity>
<activity
android:name = ".st_seven"
android:label = "@string/nom7">
</activity>
<activity
android:name = ".st_eight"
android:label = "@string/nom8">
</activity>
<activity
android:name = ".st1"
android:label = "@string/st1">
</activity>
</application>
</manifest>


А можно точнее указать где я ошибся? Мне легче изучать по анологии... С англ языком у меня проблемки. Так что изучаю как могу... И программированием вообще не занимался раньше.



Реп: (806)
sahaga @ 17.10.2010, 00:26 *
А можно точнее указать где я ошибся?

LogCat подскажет - см. пункт 1 моего ответа выше



Реп: (304)
Дурацкий вопрос. К примеру у меня N кнопок, на них написано типа Yes, No, Ignore т.е. разной длины.
А сделать хочу, чтоб было *одинаковой* типа в линейку.
Ну неужели никто не сталкивался? Че-то у меня не выходит сходу ...



Реп: (806)
avs234,
мало того что это просто, так уже и неоднократно обсуждалось, см., например, http://android.amberfog.com/?p=328



Реп: (304)
thevery,
спасибо, конечно я как всегда не в курсе

Сообщение отредактировал avs234 - 17.10.10, 06:12



Реп: (966)
RubberBigPepper @ 15.10.2010, 20:26 *
То есть распаковал я APK камеры, а там androidManifest.xml в нечитаемом виде.

Нормально он на винде читается если распаковать c помощью apktool.



Реп: (26)
thevery @ 17.10.2010, 01:02 *
LogCat подскажет - см. пункт 1 моего ответа выше


лучше уж скажи нет и все. Помогать не буду. А то 1 пункт. Ну вот я разобрался с Логом. Можете хоть посоветовать с чем у меня проблема. Насколько я понял, связано что-то с манифестом...
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ZoM"
android:versionCode="1"
android:versionName="1.0"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<application android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".ZoM"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name = ".About"
android:label = "@string/about_title"
android:theme = "@android:style/Theme.Dialog">
</activity>
<activity
android:name = ".st_one"
android:label = "@string/nom1">
</activity>
<activity
android:name = ".st_two"
android:label = "@string/nom2">
</activity>
<activity
android:name = ".st_three"
android:label = "@string/nom3">
</activity>
<activity
android:name = ".st_four"
android:label = "@string/nom4">
</activity>
<activity
android:name = ".st_five"
android:label = "@string/nom5">
</activity>
<activity
android:name = ".st_six"
android:label = "@string/nom6">
</activity>
<activity
android:name = ".st_seven"
android:label = "@string/nom7">
</activity>
<activity
android:name = ".st_eight"
android:label = "@string/nom8">
</activity>
<activity
android:name = ".st1"
android:label = "@string/st1">
</activity>
</application>
</manifest>


Main это у меня основное активити. Переход с него на другие активити идет на ура. Теперь мне надо с активити st_one чтоб переходило на активити st_1. Скорее всегоя что-то где-то не дописал... Хоть можете кто-нибудь подсказать?

Сообщение отредактировал sahaga - 18.10.10, 22:24



Реп: (806)
sahaga,
как я сразу и сказал, у вас в манифесте не объявлена активити st_1 - неужели неочевидно?


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 23.09.23, 20:58