分类
ionic 前端开发环境 技术

ionic 编译的环境变量配置

No installed build tools found. Install the Android build tools version

有时候,新电脑编译apk的时候会报这些错,这其实都是环境变量没配置好导致的

首先先找到自己的sdk安装位置

打开环境变量配置

%ANDROID_HOME%\platform-tools

%ANDROID_HOME%\tools

修改完终端记得关闭下软件再重新打开才可以生效,当然直接重启电脑也是没问题的

分类
ionic

Could not resolve com.android.support:support-annotations:27.+

Could not resolve com.android.support:support-annotations:27.+

ionic 打包的时候

遇到这个问题的时候,ionic 编译会失败,出了更改版本外,还可以

找到所有的

build.gradle 加入这行就可以

repositories {
        google()
        maven { url "https://maven.google.com"}
        maven { url "https://dl.google.com/dl/android/maven2/"}
}

分类
angular ionic

基于安卓平台 JS 与 Java 互操作 (采用ionic4/angular6技术)

背景:安卓中的 webView 要求实现 内嵌的 js 调用 安卓APP的方法 与并且支持安卓回调js代码  来实现。

WebView部分

webView.addJavascriptInterface(new JsInterface(this), "AndroidWebView"); //重要的


Java部分

@SuppressLint({“SetJavaScriptEnabled”, “AddJavascriptInterface”})
class JsInterface {
private Context mContext;

public JsInterface(Context context) {
this.mContext = context;
}

@JavascriptInterface
public String getName(){
return getUser();
}

@JavascriptInterface
public String getPass(){
return getPass();
}



Js部分

function loading(){
var name=window.AndroidWebView.getName()
var pass=window.AndroidWebView.getPass()//调用java方法
$.post(“101.111.11:800”,{remark:name,password:pass},function(result){
var obj=result;
if(obj.code==100){
toast(“登录成功”);
}else{
toast(“登录失败”);
}
});
}



来源: https://blog.csdn.net/u014548562/article/details/77916409 

以上是我看博客的时候看到的,在angular中 我直接在html中写,发现不可以传变量过去,
例如:

<input onclick=”window.callJava.functionz(‘string’)”></input>

<input onclick=”window.callJava.functionz(parmString.toSring())”></input>

后来发现需要在ts代码中这样使用才可以。

相关文章链接:
1.Java执行JavaScript代码http://www.jb51.net/article/81577.htm

2.JAVA执行javascript方法http://blog.csdn.net/jianggujin/article/details/51046122

3.如何在java中调用js方法http://www.cnblogs.com/langtianya/archive/2012/09/18/2690860.html

分类
ionic

Ionic4 列表中的图片

<ion-avatar item-start>
<img src=”图片地址”>
</ion-avatar>
出来的效果是圆,在item头部
<ion-thumbnail item-end>
<img src=”图片地址”>
</ion-thumbnail>
出来效果是正方形,在item底部
分类
angular ionic

TS中报错说style在element类型中不存在怎么办

这是typescript的类型检查导致的,需要在你的querySelectorAll方法前面加个类型断言就好了,如下

let block = document.querySelectorAll(".block"as NodeListOf<HTMLElement>;

参考
https://segmentfault.com/q/1010000011796234/a-1020000011796986

分类
ionic

ionic3 底部tabs 隐藏部分选项卡

隐藏指定子页面的tabs,此种方式是dom操作的方式,利用ionic的生命周期函数来完成
//ionic中当页面进入初始化的时候触发的生命周期方法
ionViewDidEnter(){
    let elements = document.querySelectorAll(".tabbar");
    if (elements != null) {
       Object.keys(elements).map((key) => {
          elements[key].style.display = 'none';
       });
    }   
 
}

//ionic当退出页面的时候触发的方法
ionViewWillLeave() {
//这里注意 .tabbar 是选项卡的名字,如果要只隐藏部分选项卡,可以替换
    let elements = document.querySelectorAll(".tabbar");
    if (elements != null) {
Object.keys(elements).map((key) => {
    elements[key].style.display = 'flex';
});
    }
}
分类
ionic

ionic3 重写返回键

//重写返回按钮
    ionViewDidLoad() {
        this.navBar.backButtonClick = this.backButtonClick;
    }
//清除除根栈外的其他栈
    backButtonClick = (e: UIEvent) => {
        // do something
        this.navCtrl.popToRoot();
    }

ionic4的话 参考这篇文章

https://blog.csdn.net/qq_21197023/article/details/88668745

分类
angular ionic

ionic4 ios的列表出现显示慢 卡住的情况

<一句话教程>不要使用angular的管道,特别是列表中,推荐使用

{{CrtDate.substr(0,10)}}

替换

{{CrtDate| date:’yyyy-MM-dd’}}
分类
ionic

IONIC 禁用IOS的滑动返回

ionic3 如何禁用ios的滑动返回 只需要一行

IonicModule.forRoot(App, {
tabsHideOnSubPages:’true’,//在子页面隐藏底部菜单
swipeBackEnabled:false,//禁用ios的滑动返回
}
(上面的亲测可行)
还有一种
this.navCtrl.swipeBackEnabled=false;
这个是单个页面的,没有测试过
参考:https://ionicframework.com/docs/api/config/Config/
分类
angular ionic

ionic4 新建angular风格的项目

ionic start myApp tabs --type=angular