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

Работа скрипта в андройд приложении - Портирование html сервиса - Android

Войти
Регистрация
Восстановить пароль
 
Soprano6111
2 / 2 / 0
Регистрация: 09.04.2015
Сообщений: 90
07.07.2015, 11:26     Работа скрипта в андройд приложении - Портирование html сервиса #1
День добрый , приложение при старте открывает веб форму из ресурсов , а в ресурсе уже захардкодин html скрипт - который должен делать расчёт по формуле - в общем переношу этот сервис на андройд - http://bast.ru/support/voltage-drop.html

Но возникает проблема :

если я открываю приложение через браузер онлайн на телефоне - кнопка Расчёт - работает ,

если я копирую html код - в девайс - то кнопка Расчёт не работает , кнопка Очистить - работает , есть предположение - может функция расчёта обращается к класу который находится за пределами этой страницы ? Если да - тогда где он находится.


Вот сам код странички внутри проекта андройд -

HTML5
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
<h1>Расчет падения напряжения в двухпроводной линии</h1>
 
    </div>
 
 
    <p class="alert alert-success">Форма позволяет рассчитать падение напряжения в однофазной двухпроводной линии переменного или постоянного тока, при использовании <strong>медного</strong> кабеля.</p>
    <script>
            function napr (obj)
            {
                if(obj.DLN.value==0 || obj.TOP.value==0 || obj.KPL.value==0)
                {
                     obj.res1.value=""
                     obj.res2.value=""
                }
                else
                {
                     var d = obj.PPS.value       
                     
                     var L3 = obj.DLN.value
                     var L2 = L3.toString()
                     var L1 = L2.replace(',','.')
                     var L           
 
                     
                     var I3 = obj.TOP.value
                     var I2 = I3.toString()
                     var I1 = I2.replace(',','.')
                     var I                   
                     
                     var n3 = obj.KPL.value  
                     var n2 = n3.toString()
                     var n1 = n2.replace(',','.')
                     var n  
                     
                     var U = obj.NIP.value
                     
                     d=Number(d)
                     L=Number(L1)
                     I=Number(I1)
                     n=Number(n1)
                     U=Number(U)
 
                     var R = 0.0175*2*L/d
                     
                     var uPr = R*I/1000*n
                     var u = Math.round(uPr*100)/100
                     
                     var kPr = U-uPr
                     var k = Math.round(kPr*100)/100
                     
                     var xPr = uPr/U*100
                     var x = Math.round(xPr*100)/100
                     
                     if(isNaN(k)==true || isNaN(u)==true || isNaN(x)==true)
                     {
                         obj.res1.value=""
                         obj.res2.value=""
                     }
                     else
                     {
                         obj.res1.value=k+" В"
                         obj.res2.value=u+" В  ("+x+"%)"
                     }
 
                 }
 
            } 
            
        </script>
    <form name="form1">
        <input type ="text" name="DLN" size=10> <strong>L</strong>, длина кабеля, м.<br><br>
        <select name="PPS">
            <option value="0.5">0.5</option>
            <option value="0.75">0.75</option>
            <option value="1">1</option>
            <option value="1.5">1.5</option>
            <option value="2">2</option>
            <option value="2.5">2.5</option>
            <option value="4">4</option>
        </select> <strong>d</strong>, площадь поперечного сечения жилы, мм&sup2.<br><br>
        <input type ="text" name="TOP" size=10> <strong>I</strong>, ток одного потребителя, мА. <br><br>
        <input type ="text" name="KPL" size=10> <strong>n</strong>, количество потребителей в линии, шт. <br><br>
        <select name="NIP">
            <option value="12">12</option>
            <option value="24">24</option>
            <option value="36">36</option>
            <option value="48">48</option>
            <option value="60">60</option>
        </select> <strong>U</strong>, напряжение источника питания, В.<br><br>
        <input type="button" value="Расчёт" onClick="napr(form1)"><br><br>
        <input type="text" readonly="readonly" name="res1" size=15> Величина напряжения на конце линии.<br><br>
        <input type="text" readonly="readonly" name="res2" size=15> Абсолютная величина падения напряжения.<br><br>
        <input type="reset" value=Очистить><br><br>
    </form>
 
    <div class="clearfloat"></div>
</div>
<!--+++++++++++++ Wrapper +++++++++++++++-->



Вот майн активити -
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
98
99
100
101
102
103
104
105
106
107
108
package com.example.kostukovp.calculationofvoltagedrop;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.webkit.WebView;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
 
 
 
public class MainActivity extends AppCompatActivity {
    WebView webView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        // ActionBar actionBar = getActionBar();
        //  actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        //  actionBar.setCustomView(R.layout.abc_action_menu_item_layout);
        // actionBar.setBackgroundDrawable(new ColorDrawable(Color.GRAY));
        //  getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        final ActionBar actionBar = getSupportActionBar();
        // actionBar.setHomeButtonEnabled(true);
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setBackgroundDrawable(new ColorDrawable(Color.BLUE));
 
        // actionBar.setDisplayHomeAsUpEnabled(true);
 
        //   actionBar.setHomeButtonEnabled(true);
        //  ActionBar.setHomeButtonEnabled();
 
 
        setContentView(R.layout.activity_main);
        webView = (WebView) findViewById(R.id.webView);
 
        Intent intent = getIntent();
        //получаем строку и формируем имя ресурса
        //  String resName = "n" + intent.getIntExtra("head", 0);
        // Log.i("name", resName);
        Context context = getBaseContext(); //получаем контекст
 
        //читаем текстовый файл из ресурсов по имени
        String text = readRawTextFile(context, getResources().getIdentifier("n0", "raw", "com.example.kostukovp.calculationofvoltagedrop"));
 
        webView.loadDataWithBaseURL(null, text, "text/html", "en_US", null);
 
    }
 
 
    //читаем текст из raw-ресурсов
    public static String readRawTextFile(Context context, int resId)
    {
        InputStream inputStream = context.getResources().openRawResource(resId);
 
        InputStreamReader inputReader = new InputStreamReader(inputStream);
        BufferedReader buffReader = new BufferedReader(inputReader);
        String line;
        StringBuilder builder = new StringBuilder();
 
        try {
            while (( line = buffReader.readLine()) != null) {
                builder.append(line);
                builder.append("\n ");
            }
        } catch (IOException e) {
            return null;
        }
        return builder.toString();
 
 
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                // app icon in action bar clicked; goto parent activity.
 
                Context context = getBaseContext(); //получаем контекст
 
                //читаем текстовый файл из ресурсов по имени
                String text = readRawTextFile(context, getResources().getIdentifier("n0", "raw", "com.example.kostukovp.calculationofvoltagedrop"));
 
                webView.loadDataWithBaseURL(null, text, "text/html", "en_US", null);
                // this.finish();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
    @Override
    public void onBackPressed() {
        Context context = getBaseContext(); //получаем контекст
 
        //читаем текстовый файл из ресурсов по имени
        String text = readRawTextFile(context, getResources().getIdentifier("n0", "raw", "com.example.kostukovp.calculationofvoltagedrop"));
 
        webView.loadDataWithBaseURL(null, text, "text/html", "en_US", null);
        return;
    }
}

В чём может быть проблема ? почему онлайн - работает - офлайн - нет?

Добавлено через 19 часов 34 минуты
ап1
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2015, 11:26     Работа скрипта в андройд приложении - Портирование html сервиса
Посмотрите здесь:

Android Портирование .exe в .apk
Android Приложение, Андройд, ошибка
Android Вывод текста. Андройд
Android Работа с переходом по ссылкам в приложении
Первое приложение под андройд Android
Портирование на Андроид Android
Не запускается приложения эмулятор на андройд Android
.net под андройд Android
Android Нечто про Андройд и С++
Исполнение скрипта в android приложении Android
Включение gps на андройд Android
Приложение на Андройд Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
резкий
1896 / 1630 / 508
Регистрация: 12.05.2014
Сообщений: 5,864
Завершенные тесты: 1
07.07.2015, 11:40     Работа скрипта в андройд приложении - Портирование html сервиса #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
3
webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
и не андроЙд, а андроид
Soprano6111
2 / 2 / 0
Регистрация: 09.04.2015
Сообщений: 90
07.07.2015, 13:34  [ТС]     Работа скрипта в андройд приложении - Портирование html сервиса #3
Да ответ , верный но нашёл его на стековерфлоу буквально минут за 20 до появления ответа здесь )

Добавлено через 11 минут
Всё ровно - оперативно , быстро ответил , спасибо , про андроид буду знать , просветил.
androbro
313 / 273 / 51
Регистрация: 17.10.2014
Сообщений: 820
07.07.2015, 13:56     Работа скрипта в андройд приложении - Портирование html сервиса #4
Цитата Сообщение от Soprano6111 Посмотреть сообщение
но нашёл его на стековерфлоу буквально минут за 20 до появления ответа здесь )
что то вы батенька темните
тему создали в "Сегодня, 11:26"
ответ поступил "Сегодня, 11:40"
получается что вы нашли ответ до того как задали вопрос
Soprano6111
2 / 2 / 0
Регистрация: 09.04.2015
Сообщений: 90
09.07.2015, 00:13  [ТС]     Работа скрипта в андройд приложении - Портирование html сервиса #5
Нет , сорь не вру , но и не сомневаюсь что паблито будет покруче парней с русского стековерфлоу , да да нашёл на русском (.
Yandex
Объявления
09.07.2015, 00:13     Работа скрипта в андройд приложении - Портирование html сервиса
Ответ Создать тему
Опции темы

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