Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / TXT reading в Android studio / 25 сообщений из 46, страница 1 из 2
05.02.2016, 15:05
    #39164044
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
Всем привет. Тут возникла надобность загрузить в приложение огромный текст, а через чет не хочется. Есть ли другой способ? Мб можно txt формат читать из assets? Срочно нужен совет!
...
Рейтинг: 0 / 0
05.02.2016, 15:08
    #39164047
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
ilja2210через чет не хочется
Через что?

ilja2210Есть ли другой способ?
Открываешь файл и читаешь последовательно.
...
Рейтинг: 0 / 0
05.02.2016, 15:33
    #39164096
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
wadman,

через strings=
как "оформить" прочтение txt? ну чтоб вместо strings программа просто открывала инфу из файла
...
Рейтинг: 0 / 0
05.02.2016, 15:35
    #39164103
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
Например, как тут (в ответе, буферное чтение) http://stackoverflow.com/questions/12421814/how-can-i-read-a-text-file-in-android

Код: 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.
    //Find the directory for the SD Card using the API
//*Don't* hardcode "/sdcard"
File sdcard = Environment.getExternalStorageDirectory();

//Get the text file
File file = new File(sdcard,"file.txt");

//Read text from file
StringBuilder text = new StringBuilder();

try {
    BufferedReader br = new BufferedReader(new FileReader(file));
    String line;

    while ((line = br.readLine()) != null) {
        text.append(line);
        text.append('\n');
    }
    br.close();
}
catch (IOException e) {
    //You'll need to add proper error handling here
}

//Find the view by its id
TextView tv = (TextView)findViewById(R.id.text_view);

//Set the text
tv.setText(text.toString());

...
Рейтинг: 0 / 0
07.02.2016, 17:59
    #39165093
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
wadman,

такс...а другой способ есть какой?
...
Рейтинг: 0 / 0
07.02.2016, 18:00
    #39165095
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
wadman,
просто строчками задолбался писать через strings
...
Рейтинг: 0 / 0
07.02.2016, 21:19
    #39165140
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
Параллельный вопрос возник- как реализовать такую вещь: нажимаю на кнопку, и программа переходит на новую страницу без активити. Это фрагменты или че? Может, можно переходить с лейаута на лейаут всего-лишь с одним активити?
P.S. понимаю, то вопрос. вероятно, тупой))
...
Рейтинг: 0 / 0
08.02.2016, 08:45
    #39165231
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
ilja2210Это фрагменты или че?
Угадал...
ilja2210а другой способ есть какой?
Какой другой? Тут все как на компе. Работал на компьютерах с текстом? Если да, то что именно тебе не хватает.
...
Рейтинг: 0 / 0
08.02.2016, 11:37
    #39165377
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
wadman,

Так,насчет фрагментов-отличная новость.
Но как вставить txt файл в textviеw?
Задолбался каждую строчку через /n и пробелы переделывать. Очень большой обьем текстов((
Просто хотелось бы,чтобы текст в том виде,в каком он есть в блокноте,переносился в лейаут.
Это реально вообще?
...
Рейтинг: 0 / 0
08.02.2016, 11:51
    #39165387
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
Файл большой?

ilja2210Задолбался каждую строчку через /n и пробелы переделывать.
Руками переделываешь или все таки код какой-то? :)
...
Рейтинг: 0 / 0
08.02.2016, 13:22
    #39165484
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
да положи ты его уже в res/raw и читай через context.getResources().openRawResource(id)
...
Рейтинг: 0 / 0
08.02.2016, 14:41
    #39165592
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
chpasha,

Так,насчет raw понятно,но можете чуть подробнее про сам код? Не совсем врубился(мб ссылка какая есть).
...
Рейтинг: 0 / 0
08.02.2016, 14:58
    #39165624
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
ilja2210chpasha,
но можете чуть подробнее про сам код? Не совсем врубился(мб ссылка какая есть).
чем тебе context.getResources().openRawResource(id) не код?
...
Рейтинг: 0 / 0
08.02.2016, 22:26
    #39166072
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
chpasha,

ну так я оформлю,значится, это добро в textview в лейауте, затем пишу в активити TextView name; там дальше строчек 5 ниже прописываю context.getResources().openRawResource(textid)? Такое ощущеие, что я оч много че пропустил)))
...
Рейтинг: 0 / 0
09.02.2016, 09:16
    #39166223
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
ilja2210,

Показал-бы уже код и пояснил, что тебе в нем не нравится. А то ходим вокруг да около...
...
Рейтинг: 0 / 0
09.02.2016, 17:49
    #39166934
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
wadman,

все очень примитивно (тут, по крайней мере)
пример лейаута:
Код: xml
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.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:background="#f3d393"
    android:layout_height="fill_parent"
    android:orientation="vertical" android:layout_gravity="right">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/scroll"
        android:background="#f3d393">
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:paddingBottom="@dimen/activity_vertical_margin"
            android:paddingLeft="@dimen/activity_horizontal_margin"
            android:paddingRight="@dimen/activity_horizontal_margin"
            android:paddingTop="@dimen/activity_vertical_margin"
            tools:context="ee.rasim.help.Sprav"
            android:background="#f3d393">


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Тиреолиберин (ТРГ):\n     5-6 пг/л (РИА)\n\nТиреотропный гормон (ТТГ, ТСГ):\n     0,6-3,8 мк/МЕмл (ИФA)\n     0,24-2,9 мкМЕ/мл (РИА)\n\nТироксин общий (Т4):\n     62-141 нмоль/л (ИФA)\n     65-160 нмоль/л (РИА)\n\nТрийодтиронин общий (Т3):\n     1,17-2,18 нмоль/л (ИФA)\n     1,04-2,50 нмоль/л (РИА)\n\nСвободный тироксин (св. Т4):\n     1,5-2,9 мкг/100 мл (ИФA)\n     10-25 пмоль/л (РИА)\n\nСвободный трийодтиронин (св. Тз):\n     0,4 нг/100 мл (ИФA)\n     4-8 пмоль/л (РИА)\n\nКоэффициент эффективности тироксина (КЭТ):\n     0,86-1,13 (РИА)\n\nИндекс свободного тироксина (ИСТ4):\n     4,42-15,75 (РИА)\n\nОбратный (реверсированный) трийодтиронин:\n     25-80 нг/100 мл (РИА)\n\nТироксинсвязывающий глобулин (ТСвГ):\n     1,2-2,2 мг/100 мл (ИФA)\n     13,3-28,3 мг/л (РИА)\n\nИФ-метод Связанный с белками йод (СБЙ):\n     6-8 мкг/100 мл (хим. метод)\n\nБутанол-экстрагируемый йод (БЭЙ):\n     3,5-6,5 мкг/100 мл (хим. метод)\n\nТиреоглобулины:\n     до 50 нг/мл (РИА)\n\nКальцитонин:\n     5,5-28 пмоль/л (РИА)\n\nПаратиреотропный гормон:\n     20-90 пг/мл\n\n "
                android:id="@+id/textView5"
                android:layout_alignParentEnd="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentStart="true"
                android:textSize="30dp"
                android:textColor="#000000"
                android:background="#ffffff" />
        </RelativeLayout>


    </ScrollView>

</LinearLayout>



пример активти:
Код: 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.
package ee.rasim.help;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class Analiz4 extends ActionBarActivity {

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



    @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_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();

        //noinspection SimplifiableIfStatement
        if (id == R.id.item1) {
            Intent callintent = new Intent(Intent.ACTION_CALL);
            callintent.setData(Uri.parse("tel:911"));
            startActivity(callintent);
        }
        if (id == R.id.item3) {
            Intent intent = new Intent(this, O_nas.class);
            startActivity(intent);
        }



        return super.onOptionsItemSelected(item);
    }
}




было б круто, чтобы можно было бы также скомпоновать нужный мне текст (как в текствью лейаута), но не нужно было бы всяких \n и других танцев с бубнами
...
Рейтинг: 0 / 0
09.02.2016, 18:02
    #39166973
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
в чем затык? у тебя есть TextView, копируешь большой текст в res/raw. Все что нужно, это при создании Activity достать этот текст с помощью openRawResource из ресурсов и засунуть его в этот TextView. Для этого нужно
1) достать голову из известного места почитать что делает openRawResource
2) почитать как превратить то, что возвращает openRawResource в String
все
...
Рейтинг: 0 / 0
09.02.2016, 19:46
    #39167072
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
chpasha,
окей,текст выводит, только чет кирилицу не читает((( как исправить?

да,вот активити:
Код: 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.
95.
96.
97.
package ee.rasim.help;

import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.text.Html;
import android.text.Spanned;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;


public class Akush extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_akush);
        TextView tv = new TextView(this);

        try {
            tv.setText(getStringFromRawFile(Akush.this));
        } catch (IOException e) {
// TODO Auto-generated catch block
            e.printStackTrace();
        }
        setContentView(tv);
    }





        String getStringFromRawFile(Akush activity) throws IOException
    {
        Resources r = activity.getResources();
        InputStream is = r.openRawResource(R.raw.ex);
        String myText = convertStreamToString(is);
        is.close();
        return myText;
    }
    String convertStreamToString(InputStream is) throws IOException
    {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        int i = is.read();
        while (i != -1)
        {
            baos.write(i);
            i = is.read();
        }
        return baos.toString();

    }





    @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_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();

        //noinspection SimplifiableIfStatement
        if (id == R.id.item1) {
            Intent callintent = new Intent(Intent.ACTION_CALL);
            callintent.setData(Uri.parse("tel:911"));
            startActivity(callintent);
        }
        if (id == R.id.item3) {
            Intent intent = new Intent(this, O_nas.class);
            startActivity(intent);
        }



        return super.onOptionsItemSelected(item);
    }
}



и вот лейаут:
Код: xml
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.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:background="#f3d393"
    android:layout_height="fill_parent"
    android:orientation="vertical" android:layout_gravity="right">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/scroll"
        android:background="#f3d393">
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:paddingBottom="@dimen/activity_vertical_margin"
            android:paddingLeft="@dimen/activity_horizontal_margin"
            android:paddingRight="@dimen/activity_horizontal_margin"
            android:paddingTop="@dimen/activity_vertical_margin"
            tools:context="ee.rasim.help.Sprav"
            android:background="#f3d393">

        </RelativeLayout>


    </ScrollView>

</LinearLayout>



вообще, очень зотелось бы, чтобы можно было фон менять (все выставил, а он конкретно с этим методом белый). мб можно как-то в рамки запихнуть его? до этого между текствью и рамками было по 20 дп, и было норм.
...
Рейтинг: 0 / 0
09.02.2016, 21:47
    #39167136
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
Да,еще и скролить чет нельзя этот файл((
Сменил на кодировку windows 1251- все еще не читает кириллицу.
Что делать? Проблема прям совсем серьезная
...
Рейтинг: 0 / 0
10.02.2016, 00:13
    #39167189
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
ilja2210Да,еще и скролить чет нельзя этот файл((
ScrollView спасет отца русской демократии

ilja2210Сменил на кодировку windows 1251- все еще не читает кириллицу.
Что делать?
нужно явно указывать кодировку при конвертации потока в строку. используй библиотеку apache commons-io , класс IOUtils.toString(inputstream, charset)
...
Рейтинг: 0 / 0
10.02.2016, 00:27
    #39167196
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
chpasha,

в скроллинге помогла строка
Код: java
1.
tv.setMovementMethod(new ScrollingMovementMethod());


а вот с кодровкой чет не понял- можете немного подробнее?
...
Рейтинг: 0 / 0
10.02.2016, 00:40
    #39167199
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
chpasha,

http://javarevisited.blogspot.com.ee/2012/08/convert-inputstream-to-string-java-example-tutorial.html
тут что-то похожее, но как не перебирал-не пашет
...
Рейтинг: 0 / 0
10.02.2016, 08:54
    #39167275
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
ilja2210Что делать?
Попробуй сразу сохранять строки в utf.
...
Рейтинг: 0 / 0
10.02.2016, 10:10
    #39167329
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
wadman,

Что вы имели ввиду?
...
Рейтинг: 0 / 0
10.02.2016, 10:32
    #39167341
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TXT reading в Android studio
ilja2210Что вы имели ввиду?
Кодировку. Для андроида нативная кодировка не win1251. Операция конвертирования "на лету" затратная, не считая объема текста.
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / TXT reading в Android studio / 25 сообщений из 46, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]