下載開發工具:https://developer.harmonyos.com
從鏈接
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/document-outline-0000001064589184獲得開發指南
遠程模擬器
從集成開發環境啟動設備管理,使用遠程仿真來模擬真機,并在仿真器上運行應用。
從devEco入口
設定遠程仿真器
在設備啟動項目
一個Js項目
與寫vue項目差異不大,只是工程上將js,css,h5分隔開來。穩定性還遠遠不夠。
例如:
hml
在頁面跳轉上出一些問題,無法有效找到幫助。
錯誤
關于手機傳感器的開發、如位置的開發,js貌似無能為力。只能說還是一個不太成熟的IDE,要想用得順暢,還是得靠JAVA。
一個native C++項目
extern "C"
JNIEXPORT jstring JNICALL
Java_com_example_myApplication_slice_MainAbilitySlice_stringFromJNI(JNIEnv* env, jobject obj) {
std::string hello = "Hello from JNI C++ codes";
int len = hello.size();
jchar res[len];
for (int i = 0; i < len; i++) {
res[i] = (jchar)hello[i];
}
return env->NewString(res, len);
}
在java中如此加載
public class MainAbilitySlice extends AbilitySlice {
// Load the 'native-lib' library on application startup.
static {
System.loadLibrary("hello");
}
private PositionLayout myLayout = new PositionLayout(this);
@Override
public void onStart(Intent intent) {
super.onStart(intent);
LayoutConfig config = new LayoutConfig(LayoutConfig.MATCH_PARENT, LayoutConfig.MATCH_PARENT);
myLayout.setLayoutConfig(config);
ShapeElement element = new ShapeElement();
element.setShape(ShapeElement.RECTANGLE);
element.setRgbColor(new RgbColor(255, 255, 255));
myLayout.setBackground(element);
Text text = new Text(this);
text.setText(stringFromJNI());
text.setTextColor(Color.BLACK);
myLayout.addComponent(text);
super.setUIContent(myLayout);
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
/**
* A native method that is implemented by the 'native-lib' native library,
* which is packaged with this application.
*/
public native String stringFromJNI();
}
主服務框架中引用slice
public class MainAbility extends Ability {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setMainRoute(MainAbilitySlice.class.getName());
}
}
總之新品還是有很多亟待改善的地方