文档章节

cocos2d-x 3.X 如何在android里添加广告

piggybear
 piggybear
发布于 2015/02/16 10:32
字数 1761
阅读 27
收藏 0
点赞 0
评论 0

1,使用的是谷歌的AdMob的广告

先去注册个账号吧http://www.google.com/ads/admob/ 

怎么注册就不说了,注册需要翻墙,如何翻墙,自己解决,注册太长了,就那么回事,不说了。注册好后,登陆界面如下




按顺序点击,填写好相关内容后,你会得到这个界面


为什么是中文,google自动帮我翻译了,有时候翻译有时候不翻译,这里就不说了,看到广告单元ID没,把他记下来,


2,现在,新建一个的cocos2d-X 3.0的工程,你环境是不是按照上一篇的环境搭建篇搭建的呢,不是的话还不快去

茯苓新admobTest-P com.test.admobTest-L CPP-D D:\工作

先用日食导入工程,你看的很清楚,不是对,是Eclispe的

1)先导入libcocos2dx库

有关Eclispe中,文件 - >导入 - >现有的Andr​​oid代码放入工作区

然后点击浏览...找到如下图路径


然后导入,库导入完了再导入admobTest工程

还是按照刚才的方法,不过赵路径的时候是下面这个



当你导入以后,工程会自动运行 “的Python build_native.py”,如下图



就直接连接手机运行就OK了,


3,下面,开始添加广告,

1)关闭Eclispe的,

2)打开翻墙软件,

3)打开SDK 的manager.exe选择工具- >选项...,如下配置


然后,关闭SDK 的manager.exe重新打开,更新以下项目



更新完毕后,将下图中的文件夹


复制到你的工程目录下




打开Eclipse中,按照导入库方式导入谷歌播放services_lib

导入后,右键点击admobTest工程,选择属性属性,然后如图设置


将谷歌 - 播放services_lib加到工程中


修改 的AndroidManifest.xml文件,如图

文本在此

[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1.       <meta-data android:name="com.google.android.gms.version"  
  2.                    android:value="@integer/google_play_services_version"/>  
  3. <activity android:name="com.google.android.gms.ads.AdActivity"  
  4.               android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>  

[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  


打开工程中的AppActivity.java文件,修改如下


[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /**************************************************************************** 
  2. Copyright (c) 2008-2010 Ricardo Quesada 
  3. Copyright (c) 2010-2012 cocos2d-x.org 
  4. Copyright (c) 2011      Zynga Inc. 
  5. Copyright (c) 2013-2014 Chukong Technologies Inc. 
  6.   
  7. http://www.cocos2d-x.org 
  8.  
  9. Permission is hereby granted, free of charge, to any person obtaining a copy 
  10. of this software and associated documentation files (the "Software"), to deal 
  11. in the Software without restriction, including without limitation the rights 
  12. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
  13. copies of the Software, and to permit persons to whom the Software is 
  14. furnished to do so, subject to the following conditions: 
  15.  
  16. The above copyright notice and this permission notice shall be included in 
  17. all copies or substantial portions of the Software. 
  18.  
  19. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
  20. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
  21. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
  22. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
  23. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
  24. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 
  25. THE SOFTWARE. 
  26.  ****************************************************************************/  
  27. package org.cocos2dx.cpp;  
  28.   
  29. import java.lang.reflect.InvocationTargetException;  
  30. import java.lang.reflect.Method;  
  31.   
  32. import org.cocos2dx.lib.Cocos2dxActivity;  
  33.   
  34. import android.annotation.TargetApi;  
  35. import android.graphics.Color;  
  36. import android.graphics.Point;  
  37. import android.os.Build;  
  38. import android.os.Bundle;  
  39. import android.view.Display;  
  40. import android.view.View;  
  41. import android.view.WindowManager;  
  42. import android.widget.LinearLayout;  
  43. import android.widget.RelativeLayout;  
  44.   
  45. import com.google.android.gms.ads.AdSize;  
  46. import com.google.android.gms.ads.AdRequest;  
  47. import com.google.android.gms.ads.AdView;  
  48.   
  49. public class AppActivity extends Cocos2dxActivity {  
  50.     private static AppActivity _appActiviy;  
  51.     private AdView adView;  
  52.     private static final String AD_UNIT_ID = "ca-app-pub-4321574338161624/7981547992";//填写你的广告单元ID  
  53.   
  54.     // Helper get display screen to avoid deprecated function use  
  55.     private Point getDisplaySize(Display d) {  
  56.         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {  
  57.             return getDisplaySizeGE11(d);  
  58.         }  
  59.         return getDisplaySizeLT11(d);  
  60.     }  
  61.   
  62.     @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)  
  63.     private Point getDisplaySizeGE11(Display d) {  
  64.         Point p = new Point(00);  
  65.         d.getSize(p);  
  66.         return p;  
  67.     }  
  68.   
  69.     private Point getDisplaySizeLT11(Display d) {  
  70.         try {  
  71.             Method getWidth = Display.class.getMethod("getWidth",  
  72.                     new Class[] {});  
  73.             Method getHeight = Display.class.getMethod("getHeight",  
  74.                     new Class[] {});  
  75.             return new Point(  
  76.                     ((Integer) getWidth.invoke(d, (Object[]) null)).intValue(),  
  77.                     ((Integer) getHeight.invoke(d, (Object[]) null)).intValue());  
  78.         } catch (NoSuchMethodException e2) // None of these exceptions should  
  79.                                             // ever occur.  
  80.         {  
  81.             return new Point(-1, -1);  
  82.         } catch (IllegalArgumentException e2) {  
  83.             return new Point(-2, -2);  
  84.         } catch (IllegalAccessException e2) {  
  85.             return new Point(-3, -3);  
  86.         } catch (InvocationTargetException e2) {  
  87.             return new Point(-4, -4);  
  88.         }  
  89.     }  
  90.   
  91.     @Override  
  92.     protected void onCreate(Bundle savedInstanceState) {  
  93.         super.onCreate(savedInstanceState);  
  94.   
  95.         getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);  
  96.         //获取显示宽度  
  97.         int width = getDisplaySize(getWindowManager().getDefaultDisplay()).x;  
  98.         //顶部显示1,如果想在顶部显示广告请将顶部显示1和顶部显示2注释去掉,然后注释掉底部显示1,底部显示2,底部显示3  
  99. //      LinearLayout.LayoutParams adParams = new LinearLayout.LayoutParams(  
  100. //              width, LinearLayout.LayoutParams.WRAP_CONTENT);  
  101.           
  102.         //底部显示1  
  103.         RelativeLayout relativeLayout = new RelativeLayout(this);//  
  104.         this.frameLayout.addView(relativeLayout);//3.0 中,先打开Cocos2dxActivity.java文件,在52行,就是private static Context sContext = null;之后添加public static FrameLayout framelayout;然后在public void init() 函数中,将FrameLayout framelayout = new FrameLayout(this);改成framelayout = new FrameLayout(this);就可以了使用这句代码了,3.1.1之后什么都不要动,直接写成this.mFrameLayout.add(relativeLayout)就可以了  
  105.   
  106.         //底部显示2  
  107.         RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(width,  
  108.                 AdView.LayoutParams.WRAP_CONTENT);//  
  109.         adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);//  
  110.           
  111.                 //广告  
  112.         adView = new AdView(this);  
  113.         adView.setAdSize(AdSize.BANNER);  
  114.         adView.setAdUnitId(AD_UNIT_ID);  
  115.   
  116.         AdRequest adRequest = new AdRequest.Builder()  
  117.                 .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)  
  118.                 .addTestDevice("HASH_DEVICE_ID").build();  
  119.         //底部显示3  
  120.         relativeLayout.addView(adView,adParams);//  
  121.         //广告请求  
  122.                 adView.loadAd(adRequest);  
  123.         adView.setBackgroundColor(Color.BLACK);  
  124.         adView.setBackgroundColor(0);  
  125.         //顶部显示2  
  126.         //addContentView(adView, adParams);  
  127.         //赋值  
  128.         _appActiviy = this;  
  129.   
  130.     }  
  131.   
  132.     public static void hideAd() {  
  133.         _appActiviy.runOnUiThread(new Runnable() {  
  134.   
  135.             @Override  
  136.             public void run() {  
  137.                 if (_appActiviy.adView.isEnabled())  
  138.                     _appActiviy.adView.setEnabled(false);  
  139.                 if (_appActiviy.adView.getVisibility() != 4)  
  140.                     _appActiviy.adView.setVisibility(View.INVISIBLE);  
  141.             }  
  142.         });  
  143.   
  144.     }  
  145.   
  146.     public static void showAd() {  
  147.         _appActiviy.runOnUiThread(new Runnable() {  
  148.   
  149.             @Override  
  150.             public void run() {  
  151.                 if (!_appActiviy.adView.isEnabled())  
  152.                     _appActiviy.adView.setEnabled(true);  
  153.                 if (_appActiviy.adView.getVisibility() == 4)  
  154.                     _appActiviy.adView.setVisibility(View.VISIBLE);  
  155.             }  
  156.         });  
  157.   
  158.     }  
  159.   
  160.     @Override  
  161.     protected void onResume() {  
  162.         super.onResume();  
  163.         if (adView != null) {  
  164.             adView.resume();  
  165.         }  
  166.     }  
  167.   
  168.     @Override  
  169.     protected void onPause() {  
  170.         if (adView != null) {  
  171.             adView.pause();  
  172.         }  
  173.         super.onPause();  
  174.     }  
  175.   
  176.     @Override  
  177.     protected void onDestroy() {  
  178.         adView.destroy();  
  179.         super.onDestroy();  
  180.     }  
  181. }  


记住要改成你的广告标识

JAVA的完成了,下面就是C + +的了

新建一个AdmobHelper.h文件,内容如下

[cpp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. #pragma once  
  2.   
  3. class AdmobHelper{  
  4. public:  
  5.     static void hideAd();  
  6.     static void showAd();  
  7.     static bool isAdShowing;  
  8. };  


新建一个 AdmobHelper.cpp文件,内容如下

[cpp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. #include "AdmobHelper.h"  
  2. #include "cocos2d.h"  
  3.   
  4. USING_NS_CC;  
  5.   
  6. bool AdmobHelper::isAdShowing = true;  
  7.   
  8. #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)  
  9. #include "platform/android/jni/JniHelper.h"  
  10. #include <jni.h>  
  11.   
  12. const char* AppActivityCalssName = "org/cocos2dx/cpp/AppActivity";  
  13.   
  14. void AdmobHelper::hideAd(){  
  15.     cocos2d::JniMethodInfo t;  
  16.     if(cocos2d::JniHelper::getStaticMethodInfo(t,AppActivityCalssName,"hideAd","()V")){  
  17.         t.env->CallStaticVoidMethod(t.classID,t.methodID);  
  18.         t.env->DeleteLocalRef(t.classID);  
  19.         isAdShowing = false;  
  20.     }  
  21. }  
  22.   
  23. void AdmobHelper::showAd(){  
  24.     cocos2d::JniMethodInfo t;  
  25.     if(cocos2d::JniHelper::getStaticMethodInfo(t,AppActivityCalssName,"showAd","()V")){  
  26.         t.env->CallStaticVoidMethod(t.classID,t.methodID);  
  27.         t.env->DeleteLocalRef(t.classID);  
  28.         isAdShowing = true;  
  29.     }  
  30. }  
  31.   
  32. #else  
  33.   
  34. void AdmobHelper::hideAd(){  
  35.     log("hideAd() called");  
  36.     isAdShowing = false;  
  37.     return;  
  38. }  
  39.   
  40. void AdmobHelper::showAd(){  
  41.     log("showAd() called");  
  42.     isAdShowing = true;  
  43.     return;  
  44. }  
  45.   
  46. #endif  


然后,在 HelloWorldScene.cpp中调用它

[cpp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. #include "HelloWorldScene.h"  
  2. #include "AdmobHelper.h"  
  3.   
  4. USING_NS_CC;  
  5.   
  6. Scene* HelloWorld::createScene()  
  7. {  
  8.     // 'scene' is an autorelease object  
  9.     auto scene = Scene::create();  
  10.       
  11.     // 'layer' is an autorelease object  
  12.     auto layer = HelloWorld::create();  
  13.   
  14.     // add layer as a child to scene  
  15.     scene->addChild(layer);  
  16.   
  17.     // return the scene  
  18.     return scene;  
  19. }  
  20.   
  21. // on "init" you need to initialize your instance  
  22. bool HelloWorld::init()  
  23. {  
  24.     //////////////////////////////  
  25.     // 1. super init first  
  26.     if ( !Layer::init() )  
  27.     {  
  28.         return false;  
  29.     }  
  30.       
  31.     Size visibleSize = Director::getInstance()->getVisibleSize();  
  32.     Vec2 origin = Director::getInstance()->getVisibleOrigin();  
  33.   
  34.     /////////////////////////////  
  35.     // 2. add a menu item with "X" image, which is clicked to quit the program  
  36.     //    you may modify it.  
  37.   
  38.     // add a "close" icon to exit the progress. it's an autorelease object  
  39.     auto closeItem = MenuItemImage::create(  
  40.                                            "CloseNormal.png",  
  41.                                            "CloseSelected.png",  
  42.                                            CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));  
  43.       
  44.     closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2 ,  
  45.                                 origin.y + closeItem->getContentSize().height/2));  
  46.   
  47.     // create menu, it's an autorelease object  
  48.     auto menu = Menu::create(closeItem, NULL);  
  49.     menu->setPosition(Vec2::ZERO);  
  50.     this->addChild(menu, 1);  
  51.   
  52.     /////////////////////////////  
  53.     // 3. add your codes below...  
  54.   
  55.     // add a label shows "Hello World"  
  56.     // create and initialize a label  
  57.       
  58.     auto label = LabelTTF::create("Hello World""Arial", 24);  
  59.       
  60.     // position the label on the center of the screen  
  61.     label->setPosition(Vec2(origin.x + visibleSize.width/2,  
  62.                             origin.y + visibleSize.height - label->getContentSize().height));  
  63.   
  64.     // add the label as a child to this layer  
  65.     this->addChild(label, 1);  
  66.   
  67.     // add "HelloWorld" splash screen"  
  68.     auto sprite = Sprite::create("HelloWorld.png");  
  69.   
  70.     // position the sprite on the center of the screen  
  71.     sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));  
  72.   
  73.     // add the sprite as a child to this layer  
  74.     this->addChild(sprite, 0);  
  75.   
  76.     //Ad  
  77.     auto listener = EventListenerTouchOneByOne::create();  
  78.     listener->setSwallowTouches(true);//如果不加入此句消息依旧会向下传递    
  79.     listener->onTouchBegan = [](Touch* touch,Event* event){  
  80.         if(AdmobHelper::isAdShowing)  
  81.             AdmobHelper::hideAd();  
  82.         else  
  83.             AdmobHelper::showAd();  
  84.         return true;  
  85.     };  
  86.     this->_eventDispatcher->addEventListenerWithSceneGraphPriority(listener,this);  
  87.       
  88.     return true;  
  89. }  
  90.   
  91.   
  92. void HelloWorld::menuCloseCallback(Ref* pSender)  
  93. {  
  94. #if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)  
  95.     MessageBox("You pressed the close button. Windows Store Apps do not implement a close button.","Alert");  
  96.     return;  
  97. #endif  
  98.   
  99.     Director::getInstance()->end();  
  100.   
  101. #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)  
  102.     exit(0);  
  103. #endif  
  104. }  


别忘了   Adnroid.mk文件

[cpp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. LOCAL_PATH := $(call my-dir)  
  2.   
  3. include $(CLEAR_VARS)  
  4.   
  5. LOCAL_MODULE := cocos2dcpp_shared  
  6.   
  7. LOCAL_MODULE_FILENAME := libcocos2dcpp  
  8.   
  9. LOCAL_SRC_FILES := hellocpp/main.cpp \  
  10.                    ../../Classes/AppDelegate.cpp \  
  11.                    ../../Classes/HelloWorldScene.cpp \  
  12.                    ../../Classes/AdmobHelper.cpp  
  13.   
  14. LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes  
  15.   
  16. LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static  
  17. LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static  
  18.   
  19. # LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static  
  20. # LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static  
  21. # LOCAL_WHOLE_STATIC_LIBRARIES += spine_static  
  22. # LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static  
  23. # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static  
  24. # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static  
  25.   
  26.   
  27. include $(BUILD_SHARED_LIBRARY)  
  28.   
  29. $(call import-module,.)  
  30. $(call import-module,audio/android)  
  31.   
  32. # $(call import-module,Box2D)  
  33. # $(call import-module,editor-support/cocosbuilder)  
  34. # $(call import-module,editor-support/spine)  
  35. # $(call import-module,editor-support/cocostudio)  
  36. # $(call import-module,network)  
  37. # $(call import-module,extensions)  


最后,运行吧


转自:http://blog.csdn.net/leelyn/article/details/32712315

本文转载自:http://blog.csdn.net/aa294194253/article/details/38514195

共有 人打赏支持
piggybear
粉丝 3
博文 237
码字总数 37552
作品 0
西安
技术主管
移动应用和游戏开发两个阶段在线视频培训的未来计划

在51CTO学院开线上视频课程已经3个多月了,也上了不少课。不过发现还有很多课没有开。现在就将未来的开课计划公布一下。计划分为两个阶段。第一阶段主要是Cocos2d-x和Cocos2d-js的游戏开发培...

androidguy
06/29
0
0
cocos2dx学习日志(一) 总之先弄个能跑的apk出来吧!

新年新气象,新的一年已经开始好一阵子了。本着人在江湖,技多不压身的原则,最近的开始利用业余时间学习cocos2dx游戏引擎开发,话说自己写个游戏那是我儿时的梦想,哈。 废话不多说直接进正...

soso_fy
2014/02/26
0
0
Cocos2d-x(Win32 Android Ios)

创建windows平台项目 一、 搭建windows开发环境 官网上显示cocos2d-x支持win7、winxp、vista系统但我只在win7上用过以下说明均是在win7系统上的编译器使用vs2010。 1、 安装vs2010 2、...

lying
2013/09/05
0
0
Cocos2d-x 3.0rc0 的Win32工程添加CocoStudio库

在新建Cocos 3.0rc0的Win32的工程中添加CocoStudio的支持. 一 软件及其下载 1. Cocos2d-x 3.0rc http://cdn.cocos2d-x.org/cocos2d-x-3.0rc0.zip 2. CocoStudio 1.3 在CocoStudio 1.3中可以直......

千山万水
2014/06/10
0
0
Cocos2dx 3.0/3.1.1 正式版本开发环境搭建(Win32/Android)

  cocos2d-x很多tools都是需要使用Python的,因此我们需要先安装Python环境      python下载:点这里     这里需要下载Python 2.X版本。曾经以为要下载3.x版本 后来装上发现cocos2d...

千山万水
2014/06/25
0
2
《Cocos2d-x实战 Lua卷》上线了

感谢大家一直以来的支持! 各大商店均开始销售: 京东:http://item.jd.com/11659697.html 当当:http://product.dangdang.com/23659810.html 《Cocos2d-x实战 Lua卷》源码及样章下载地址: ...

智捷课堂
2015/03/26
0
1
Cocos2d-x 3.x 全平台(Android,iOS)新手开发配置教程攻略

自己写的博客:http://blog.sina.com.cn/s/blog732d16630101g445.html 以前只做过网页游戏(《古今东西》,www.ooplay.net),游戏也曾经开发过Android的手机版本,但自己写的引擎,当然也不...

雪儛
2014/06/16
0
0
【笔记】试玩 cocos2d-x-3.0beta on android

[cocos]: http://www.cocos2d-x.org/[sdk]: http://developer.android.com/sdk/index.html[ndk]: http://developer.android.com/tools/sdk/ndk/index.html[ant]: http://ant.apache.org/[pyt......

加壹
2014/01/24
0
4
cocos2d-html5使用jsbinding显示广告

最近在研究手机游戏,作为web coder自然选择javascript作为开发语言(关键也不太会别的语言。。。)。经过对比选择了比较成熟的cocos2d-html5作为游戏引擎,主要原因基于以下原因: 1.跨平台...

卢勇福
2014/03/27
0
0
run a program during builds in Eclipse

在使用cocos2d-x结合Lua开发游戏时,由于3.x的cocos2d-x使用cocos工具编译项目,但是如果没有改动C++文件,使用cocos命令时间消耗时比较高的(就算没有需要编译的C/C++文件,它也会重新链接s...

熊友良
2015/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

keepalived配置高可用集群

Linux集群概述 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:...

TaoXu
5分钟前
0
0
mysql联表批处理操作

1 概述 mysql中的单表增删改查操作,可以说是基本中的基本. 实际工作中,常常会遇到一些基本用法难以处理的数据操作,譬如遇到主从表甚至多级关联表的情况(如一些历史问题数据的批量处理),考虑到...

社哥
7分钟前
0
0
IntelliJ IDEA 详细图解最常用的配置,适合刚刚用的新人。

刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,磨刀不误砍柴工。 比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改...

kim_o
22分钟前
0
0
Google Java编程风格指南

目录 前言 源文件基础 源文件结构 格式 命名约定 编程实践 Javadoc 后记 前言 这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合...

niithub
24分钟前
0
0
java.net.MalformedURLException异常说明

1.异常片段 Java代码中,在进行URL url = new URL(urllink)操作时,提示以下异常信息,该类异常主要问题出在参数urllink上面。 异常片段1 java.net.MalformedURLException at java.ne...

lqlm
24分钟前
0
0
CentOS7修改mysql5.6字符集

解决办法:CentOS7下修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家所需要的字符集,是国际编码。 具体操作如下: 1.进入MySQL [root@tianqi-01 ~]# mysql -uroot -p Enter passw...

河图再现
26分钟前
0
0
DevExpress v18.1新版亮点——WPF篇(一)

用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExpress WPF v18.1 的新功能,快来下载试用新版本!点击下载>> Accordion Co...

Miss_Hello_World
29分钟前
0
0
Rancher 2.0集群与工作负载告警

Rancher 2.0操作指南。本文将step by step演示如何使用Rancher 2.0中集成的告警功能,包括设置通知程序、设置集群级别以及工作负载级别的告警。 在Rancher 1.x时期,告警功能是很多Rancher用...

RancherLabs
33分钟前
1
0
Python中字符串拼接的N中方法

python拼接字符串一般有以下几种方法: ①直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!'print(s) 输出结果:Hello World! 使用这种方式进行字符串连接的操作效率低下,因为python中...

木头释然
35分钟前
9
0
JAVA排序之归并排序

归并排序思路就是不停拆分数组,直到拆成一个一个元素,之后将拆出来的元素按照拆分顺序反过来的顺序合并,出现前边值大于后边值,则换位置,放入临时数组,最后将临时数组覆盖原数组. public stat...

勤奋的蚂蚁
46分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部