1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hcxiong-ionic-joke

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Ионный проект: создание и настройка

  • Ионная шутка — это приложение, которое содержит шутки, анекдоты, смешные истории и другие юмористические материалы. Оно доступно для скачивания на платформах iOS и Android.
  1. Скачайте и установите Node.js:

  2. Установите Ionic и Cordova:

    • Введите команду sudo npm install -g ionic cordova -d в терминале.
  3. Проверьте версии Ionic и Cordova:

    • Выполните команды cordova -v и ionic -v.
  4. Обновите Ionic и Cordova до последних версий:

    • Используйте команду sudo npm update -g cordova -d.
  5. Обновите платформы Android и iOS:

    • Для обновления платформы Android введите команду sudo ionic platform update android.
    • Чтобы обновить платформу iOS, выполните команду sudo ionic platform update ios.
  6. Настройте среду разработки для Android:

    • Скачайте и установите Android SDK с сайта https://developer.android.com/sdk/index.html.
    • Настройте переменные среды для Windows:
      • Задайте переменную ANDROID_HOME со значением C:\Program Files (x86)\Android\android-sdk.
      • Установите значение переменной ANDROID_PLATFORM_TOOLS равным C:\Program Files (x86)\Android\android-sdk\platform-tools.
      • Укажите значение переменной ANDROID_SDK_HOME, равное C:\Program Files (x86)\Android\android-sdk.
      • Определите значение переменной ANDROID_TOOLS, равное C:\Program Files (x86)\Android\android-sdk\tools.
    • Загрузите и распакуйте ANT с сайта https://ant.apache.org/bindownload.cgi.
    • Задайте переменные среды:
      • ANT_HOME: C:\apache-ant-1.9.4.
      • JAVA_HOME: C:\Program Files\Java\jdk1.8.0_20.
      • PATH: C:\ProgramData\Oracle\Java\javapath;C:\nodejs\;%ANDROID_HOME%;%JAVA_HOME%\bin;%ANT_HOME%\bin;%ANDROID_PLATFORM_TOOLS%.
  7. Настройте среду разработки для Mac:

    • Откройте файл .bash_profile с помощью редактора vi.
    • Добавьте следующие строки:
      • Экспорт переменной ANDROID_HOME, равной пути к папке ~/android-sdk.
      • Добавление пути к инструментам Android в переменную PATH.
    • Сохраните изменения и закройте файл.
    • Запустите команду source ~/.bash_profile, чтобы применить изменения.
  8. Создайте новый проект:

    • Введите команду sudo ionic start -a 猪猪笑话 -i com.livexy.joke jokeApp blank.
    • Переключитесь в папку проекта с помощью команды cd jokeApp.
  9. Добавьте поддержку платформ:

    • Введите команды sudo ionic platform add android и sudo ionic platform add ios.
  10. Скомпилируйте проект:

    • Соберите проект для платформы Android с помощью команды sudo ionic build android.
    • Скомпилируйте проект для платформы iOS с помощью команды sudo ionic build ios.
  11. Установите плагины:

    • Установите необходимые плагины с помощью команд sudo cordova plugin add [имя плагина].
  12. Внесите изменения в код:

    • В файле www_code/js/services/config.js добавьте или измените код, который соответствует вашим требованиям.
  13. Сгенерируйте иконки и заставки:

    • Создайте иконки и заставки с помощью команды ./resources.sh.
  14. Соберите и скомпилируйте файлы:

    • Скопируйте и соберите файлы с помощью команды ./www.sh.
    • Если необходимо, скомпилируйте файлы с помощью команды ./www.sh b.
  15. Сформируйте APK-файл для Android:

    • Создайте APK-файл с помощью команды ./android-release.sh.
    • При необходимости скомпилируйте и установите APK-файл на устройство с помощью команды ./android-release.sb b.
  16. Загрузите приложение в магазин приложений:

    • Подготовьте приложение к публикации в магазинах приложений.
    • Следуйте инструкциям для каждого магазина приложений, чтобы загрузить и опубликовать приложение. Данный текст представляет собой фрагмент кода на языке Objective-C и Java. К сожалению, я не могу выполнить перевод этого фрагмента, так как он содержит специфический код с использованием библиотек и методов, которые могут быть непонятны без контекста. Однако, если вы предоставите дополнительную информацию о том, что делает этот код, или уточните запрос, я смогу помочь вам с переводом.

В целом, данный фрагмент кода может быть связан с разработкой мобильных приложений с использованием фреймворка Cordova. Он может содержать изменения в коде, связанные с обновлением приложения или изменением его функциональности. Toast.LENGTH_LONG).show(); CopyFilesTask task = new CopyFilesTask(); task.execute(); } else { //Toast.makeText(this, getFilesDir().toString() + "/www 存在 直接显示", Toast.LENGTH_LONG).show(); loadUrl("file://" + getFilesDir().toString() + "/www/index.html"); } }

class CopyFilesTask extends AsyncTask<Void, Integer, String> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }
    @Override
    protected String doInBackground(Void... params) {
        try {
            MainActivity.unZip(MainActivity.this, "www.zip", getFilesDir().toString());
        } catch (IOException e) {
            e.printStackTrace();
            //Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_LONG).show();
        }
        return null;
    }
    @Override
    protected void onProgressUpdate(Integer... values) {
        super.onProgressUpdate(values);
    }
    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        //Toast.makeText(MainActivity.this, getFilesDir().toString() + "/www 解压成功 加载", Toast.LENGTH_LONG).show();
        loadUrl("file://" + getFilesDir().toString() + "/www/index.html");
    }
}

public static void unZip(Context context, String assetName,String outputDirectory) throws IOException {
    //创建解压目标目录
    File file = new File(outputDirectory);
    //如果目标目录不存在,则创建
    if (!file.exists()) {
        file.mkdirs();
    }
    InputStream inputStream = null;
    //打开压缩文件
    inputStream = context.getAssets().open(assetName);
    ZipInputStream zipInputStream = new ZipInputStream(inputStream);
    //读取一个进入点
    ZipEntry zipEntry = zipInputStream.getNextEntry();
    //使用1Mbuffer
    byte[] buffer = new byte[1024 * 1024];
    //解压时字节计数
    int count = 0;
    //如果进入点为空说明已经遍历完所有压缩包中文件和目录
    int num = 0;
    while (zipEntry != null) {
        //如果是一个目录
        if (zipEntry.isDirectory()) {
            //String name = zipEntry.getName();
            //name = name.substring(0, name.length() - 1);
            file = new File(outputDirectory + File.separator + zipEntry.getName());
            file.mkdir();
        } else {
            //如果是文件
            file = new File(outputDirectory + File.separator
                    + zipEntry.getName());
            //创建该文件
            file.createNewFile();
            FileOutputStream fileOutputStream = new FileOutputStream(file);
            while ((count = zipInputStream.read(buffer)) > 0) {
                fileOutputStream.write(buffer, 0, count);
            }
            fileOutputStream.close();
        }
        //定位到下一个文件入口
        zipEntry = zipInputStream.getNextEntry();
        num++;
        System.out.println("正在解压---》第" + num + "个文件。");
    }
    zipInputStream.close();
}

}

IOS老版本更新:platforms/ios/CordovaLib/Classes/CDVViewController.m

261 行增加: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loadWebView:) name:@"loadWebView" object:nil]; 494 行增加: /* *接收更新UI通知 执行重新加载 */

  • (void)loadWebView:(NSNotification *)notification { NSURL *appURL = [self appUrl]; NSLog(@"appURL------接收到更新时的地址------>%@",appURL);

    [CDVUserAgentUtil acquireLock:^(NSInteger lockToken) { _userAgentLockToken = lockToken; [CDVUserAgentUtil setUserAgent:self.userAgent lockToken:lockToken]; if (appURL) { NSURLRequest* appReq = [NSURLRequest requestWithURL:appURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20.0]; [self.webView loadRequest:appReq]; } else { NSString* loadErr = [NSString stringWithFormat:@"ERROR: Start Page at '%@/%@' was not found.", self.wwwFolderName, self.startPage]; NSLog(@"%@", loadErr);

          NSURL* errorUrl = ```

// Если есть загрузка обновления, получаем путь после обновления if ([self readRootPathStatus]) { return [self readRootPathStatus]; } else { // Иначе получаем исходный путь


...
  • (NSString *)readRootPathStatus { NSString * fileName=[[self getAPPDirectory] stringByAppendingPathComponent:@"RootPath.plist"]; NSLog(@"RootPath==>%@",fileName); NSDictionary * readDic=[[NSDictionary alloc] initWithContentsOfFile:fileName]; if (readDic) { // Получаем путь к домашнему каталогу песочницы NSString *homeDir = [NSString stringWithFormat:@"%@/Library",NSHomeDirectory()]; return [[NSString alloc] initWithFormat:@"%@%@",homeDir,[readDic objectForKey:@"path"]]; } else { return nil; } }
  • (NSString *)getAPPDirectory{ NSArray * paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); return [paths objectAtIndex:0]; }

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Свинка-шутка — шутки, анекдоты, сообщения, смешные истории, радость, вдохновение, юмор, сатира, радость, развлечение, взрослые шутки, хорошее настроение. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/hcxiong-ionic-joke.git
git@api.gitlife.ru:oschina-mirror/hcxiong-ionic-joke.git
oschina-mirror
hcxiong-ionic-joke
hcxiong-ionic-joke
master