Ohos_ZBLibrary 架构,提供一套开发标准(View, Data, Event)以及模板和工具类并规范代码。封装层级少,简单高效兼容性好。OKHttp 网络请求、Glide 图片加载、ZXing 二维码、自动缓存以及各种 Base, Demo, UI, Util 直接用。
Используйте [BaseView], чтобы создать пользовательский View, это невероятно просто; используйте [Entry<K, V>], чтобы не писать Model/JavaBean для двух переменных; используйте [BaseHttpListActivity], чтобы несколькими строками кода справиться с загрузкой и кэшированием списка HTTP-запросов; одной строкой настройте свойства View, одним нажатием кнопки унифицированно настройте UI... Чтобы узнать, как использовать, нажмите на ссылку справа http://my.oschina.net/u/2437072/blog/665241
<img src="screenshot/Screenshot_1.jpg" height="30%" width="30%"/><img src="screenshot/Screenshot_2.jpg" height="30%" width="30%"/>
<img src="screenshot/Screenshot_3.jpg" height="30%" width="30%"/><img src="screenshot/Screenshot_4.jpg" height="30%" width="30%"/>
<img src="screenshot/Screenshot_5.jpg" height="30%" width="30%"/><img src="screenshot/Screenshot_6.jpg" height="30%" width="30%"/>
<img src="screenshot/Screenshot_7.jpg" height="30%" width="30%"/><img src="screenshot/Screenshot_8.jpg" height="30%" width="30%"/>
<img src="screenshot/Screenshot_9.jpg" height="30%" width="30%"/><img src="screenshot/Screenshot_10.jpg" height="30%" width="30%"/>
<img src="screenshot/Screenshot_11.jpg" height="30%" width="30%"/><img src="screenshot/Screenshot_12.jpg" height="30%" width="30%"/>
<img src="screenshot/Screenshot_13.jpg" height="30%" width="30%"/><img src="screenshot/Screenshot_14.jpg" height="30%" width="30%"/>
<img src="screenshot/Screenshot_15.jpg" height="30%" width="30%"/><img src="screenshot/Screenshot_16.jpg" height="30%" width="30%"/>
<img src="screenshot/Screenshot_17.jpg" height="30%" width="30%"/><img src="screenshot/Screenshot_18.jpg" height="30%" width="30%"/>
<img src="screenshot/Screenshot_19.jpg" height="30%" width="30%"/><img src="screenshot/Screenshot_20.jpg" height="30%" width="30%"/>
<img src="screenshot/Screenshot_21.jpg" height="30%" width="30%"/>
Интегрируйте через DevEco studio 2.0+ и загрузите SDK Native версии 2.0+. Способ 1: В gradle entry выполните следующие действия по интеграции: Измените implementation fileTree(dir: 'libs', include: ['.jar','.har']) добавив *.har В simple используйте другие har-пакеты, в simple demo entry в папке libs нужны следующие har: glide:glide.har; ImagePicker:imagepicker.har; PhotoView:photo_view.har; UniversalImageLoader:universal_imageloader.har. При необходимости запуска перейдите в соответствующий открытый исходный компонент, чтобы получить их, или удалите соответствующий функциональный код. Или: implementation "io.openharmony.tpc.thirdlib:ImagePicker:1.0.0" implementation 'io.openharmony.tpc.thirdlib:ohos-Universal-Image-Loader:1.0.2' implementation 'io.openharmony.tpc.thirdlib:glide:1.0.4'
Обратите внимание: в библиотеке zblib уже включены другие сторонние открытые исходные коды, такие как: implementation 'com.alibaba:fastjson:1.2.70' implementation 'com.squareup.okhttp3:okhttp:3.3.1' implementation 'org.jetbrains:annotations:15.0'
Способ 2: allprojects{ repositories{ mavenCentral() } }
implementation 'io.openharmony.tpc.thirdlib:ohos-zblibrary-qrcode:1.0.4' implementation 'io.openharmony.tpc.thirdlib:ohos-zblibrary-zblib:1.0.4'
Intent intent = new Intent();
Operation operationBuilder =
new Intent.OperationBuilder()
.withAbilityName("com.zxing.ability.DefaultLayoutAbility")
.withDeviceId("")
.withBundleName(getBundleName())
.build();
intent.setParam("isShowTopBar", true); // 设置顶部栏是否显示,不传默认显示,false不显示
intent.setOperation(operationBuilder);
startAbilityForResult(intent, CODE);
Добавьте следующий код в config.json в entry:
{
"orientation": "portrait",
"formEnabled": false,
"name": "com.zxing.ability.DefaultLayoutAbility",
"label": "QRCodeLibrary",
"type": "page",
"launchType": "standard"
}
Пока не поддерживается сканирование в горизонтальном режиме.
PixelMap pixelMap = null;
try {
pixelMap = EncodingHandler.createQRCode(textContent, 400);
} catch (WriterException e) {
e.printStackTrace();
}
image.setPixelMap(pixelMap);
public class ZxingAbility extends BaseAbility {
@Override
protected void onStart(Intent intent) {
``` ```
setUIContent(ResourceTable.Layout_ability_zxing);
initView();
initData();
initEvent();
}
}
2, 使用Http功能
//初始化
HttpManager.init(getContext());
//使用
String url = "https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=" + phone;
Map<String, Object> map = new WeakHashMap<>();
HttpManager.getInstance()
.post(
map,
url,
123,
new OnHttpResponseListener() {
@Override
public void onHttpResponse(int requestCode, String resultJson, Exception e) {
Log.info("HttpManager", resultJson + "1");
settextInfo(resultJson);
}
});
3,dialog使用
new AlertDialog(getContext(),"退出登录","确定要退出登录?",
"sure","cancel",1,new AlertDialog.OnDialogButtonClickListener(){
@Override
public void onDialogButtonClick(int requestCode, boolean isPositive) {
toastMag(isPositive?"sure":"cancel");
}
})
.show();
4,时间选择器弹框
new DatePickWindow.Builder(this)
.setSelectListener(
new DatePickWindow.OnSureSelectListener() {
@Override
public void select(String yearSelect, String monthSelect, String daySelect) {
toastMag(yearSelect + "年" + monthSelect + "月" + daySelect + "日");
}
})
.show();
还有很多工具类,就不一一列举,请查看simple或者library
注册 权限和 Ability 等代码可复制 ZBLibrary 中 config.json里的 <uses-permission/>, <Ability/> 等相关代码。
可使用 APIAuto 自动化接口管理工具来生成接口相关代码:
1,大部分功能已经实现,但是因为系统的原因导致部分api和功能无法实现,需后期迭代。 2,entry simple中的布局和demo,并没有按照原先UI一致。因为需要其他三方库的限制和工作量极其庞大,导致只是展示大部分重要功能的demo。 3,一部分功能的UI与原功能的UI有一定的差异,因为当时系统组件的限制导致,无法对UI一致。 4,涉及到的类以及原因,请查看ChangeLog.md
版权所有2020-2025
根据Apache许可证2.0版(“许可证”)获得许可;
除非符合许可证,否则不得使用此文件。
您可以从以下网址获取许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件
根据许可证发放,按“原样”发放,
没有任何明示或暗示的保证或条件。
请参阅许可证以了解特定语言控制权限和
许可证的限制。
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )