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

OSCHINA-MIRROR/mirrors-AospReader

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

Фон

Как мы все знаем, многие веб-сайты Google недоступны в стране. Это включает в себя сайты, связанные с Android, что усложняет получение и чтение исходного кода Android. Кодинг Скай (Coding Sky) разработал онлайн-сайт для чтения исходного кода Android в 2015 году. Следуя духу открытого исходного кода, этот сайт теперь открыт.

Пример

Пример сайта показан на рисунке ниже: Скриншот сайта

Конечно, вы также можете получить доступ к нашему официальному резервному сайту по адресу http://aosp.codingsky.com.

Как развернуть этот сайт

Этот сайт был разработан с использованием Yii Framework. Его можно развернуть следующим образом:

  • Клонировать код на локальный компьютер.
  • Настроить nginx или Apache.

Если всё работает нормально, сайт должен быть доступен. В этом случае перейдите на сайт и, если всё успешно, выполните дальнейшую настройку пути. Сайт требует предварительной загрузки исходного кода на локальный компьютер для обеспечения функции онлайн-чтения. Например, если исходный код загружен в каталог /mnt/androidos, откройте файл PHP {website}/iprogram/protected/models/AndroidOsFileConfig.php и измените значение переменной класса androidOsConfig. Это значение инициализируется в методе init класса.

class AndroidOsFileConfig {
	private $androidOsConfig = null;

	public function __construct(){
		$this->init();
	}

	public function init(){
		$this->androidOsConfig = array(
			array("sdk" => 9, "name" => "Gingerbread", "dir" => "/mnt/androidos/android-2.3.2_r1"),
			...
		);
	}
}

После завершения настройки файла конфигурация будет выглядеть следующим образом:

class AndroidOsFileConfig {
    private $androidOsConfig = null;

    public function __construct() {
        $this->init();
    }

    public function init() {
        $this->androidOsConfig = [
            [
                'sdk' => 9,
                'name' => 'Gingerbread',
                'dir' => '/mnt/androidos/android-2.3.2_r1'
            ],
            ...
        ];
    }

    // Другие методы класса
}

Поддержка базы данных

Для поддержки простой функции поиска кода по имени файла требуется поддержка базы данных. Реализация заключается в предварительном добавлении всех файлов, их каталогов (относительных каталогов) и версий ОС в базу данных. Когда пользователь вводит имя файла, можно выполнить поиск по полю имени файла с помощью SQL-запроса с функцией like. Конечно, эффективность функции like низкая, поэтому необходимо создать индекс для поля имени файла (filename).

Если функция поиска не требуется, поддержка базы данных не нужна.

Структура таблицы android_os_search выглядит следующим образом:

DROP TABLE IF EXISTS  `android_os_search`;
CREATE TABLE `android_os_search` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `filename` varchar(512) DEFAULT '',
  `filepath` text,
  `os` int(11) DEFAULT '0' COMMENT 'Android的OS版本号,如8=Froto',
  `status` int(11) DEFAULT '1',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '加入时间',
  `update_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '修改时间',
  PRIMARY KEY (`id`),
  KEY `filename_index` (`filename`(255))
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

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

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

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

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

Участники

все

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

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